[{"data":1,"prerenderedAt":1484},["ShallowReactive",2],{"$f1wjxujew1lplb":3,"cfn":526},[4,69,128,185,234,283,320,348,372,390,405,418,428,451,474,493,508,521],{"slug":5,"title":6,"lang":7,"desc":8,"date":9,"tags":10,"edit":9,"aiGenerated":11,"aiReview":12,"aiTranslated":11,"readingTime":13,"toc":18},"ace5-back-to-coloros","Flashing a OnePlus Ace 5 Back to ColorOS 16 from an Unofficial ROM, and Fixing the Camera Along the Way","en","A full write-up of flashing back to ColorOS 16 from an unofficial ROM: three failures, a camera crash, and the unavoidable mess around root and OTA.","2026-10-19T00:00:00.000Z",[],true,"基本核对",{"text":14,"minutes":15,"time":16,"words":17},"11 min read",10.805,648300,2161,[19,23,26,29,32,35,38,41,44,47,51,54,57,60,63,66],{"level":20,"text":21,"slug":22},2,"Background","background",{"level":20,"text":24,"slug":25},"Two iron rules","two-iron-rules",{"level":20,"text":27,"slug":28},"Verifying the package: check the version without extracting 8 GB","verifying-the-package-check-the-version-without-extracting-8-gb",{"level":20,"text":30,"slug":31},"Identifying images: don't mistake EROFS for a corrupt package","identifying-images-don-t-mistake-erofs-for-a-corrupt-package",{"level":20,"text":33,"slug":34},"Flashing: two modes, each doing its own job","flashing-two-modes-each-doing-its-own-job",{"level":20,"text":36,"slug":37},"Trap 1: modem won't accept writes in fastbootd","trap-1-modem-won-t-accept-writes-in-fastbootd",{"level":20,"text":39,"slug":40},"Trap 2: OnePlus's `my_*` partitions don't exist at all","trap-2-oneplus-s-my_-partitions-don-t-exist-at-all",{"level":20,"text":42,"slug":43},"Trap 3: `getvar` has three ways of saying \"doesn't exist\"","trap-3-getvar-has-three-ways-of-saying-doesn-t-exist",{"level":20,"text":45,"slug":46},"The flash-back is done, now what","the-flash-back-is-done-now-what",{"level":48,"text":49,"slug":50},3,"Root disappears after an OTA","root-disappears-after-an-ota",{"level":48,"text":52,"slug":53},"Re-rooting: the window of opportunity","re-rooting-the-window-of-opportunity",{"level":48,"text":55,"slug":56},"The easier approach: install to the unused slot","the-easier-approach-install-to-the-unused-slot",{"level":20,"text":58,"slug":59},"Camera crash: the real long tail","camera-crash-the-real-long-tail",{"level":48,"text":61,"slug":62},"Why is `my_preload` missing in particular?","why-is-my_preload-missing-in-particular",{"level":48,"text":64,"slug":65},"Rescue: extract just one partition","rescue-extract-just-one-partition",{"level":20,"text":67,"slug":68},"A few random thoughts","a-few-random-thoughts",{"slug":5,"title":70,"lang":71,"desc":72,"date":9,"tags":73,"edit":9,"aiGenerated":11,"aiReview":12,"aiTranslated":11,"readingTime":74,"toc":79},"OnePlus Ace 5 を非公式 ROM から ColorOS 16 に戻し、ついでにカメラも復活させた話","ja","非公式 ROM から ColorOS 16 に戻した全記録：3 度の失敗、カメラのクラッシュ、そして root と OTA の避けて通れない話。",[],{"text":75,"minutes":76,"time":77,"words":78},"18 min read",17.34,1040400,3468,[80,83,86,89,92,95,98,101,104,107,110,113,116,119,122,125],{"level":20,"text":81,"slug":82},"きっかけ","",{"level":20,"text":84,"slug":85},"2 つの鉄則","2-鉄則",{"level":20,"text":87,"slug":88},"パッケージ検証：8GB を展開せずにバージョンを見る","検証-8gb-展開-見",{"level":20,"text":90,"slug":91},"イメージの見分け：EROFS を壊れたパッケージと間違えるな","見分-erofs-壊-間違",{"level":20,"text":93,"slug":94},"書き込み：2 つのモード、それぞれの役割","書-込-2-役割",{"level":20,"text":96,"slug":97},"罠 1：modem は fastbootd で書き込めない","罠-1-modem-fastbootd-書-込",{"level":20,"text":99,"slug":100},"罠 2：OnePlus の `my_*` パーティションはそもそも存在しない","罠-2-oneplus-my_-存在",{"level":20,"text":102,"slug":103},"罠 3：`getvar` の「存在しない」には 3 通りの言い方がある","罠-3-getvar-存在-3-通-言-方",{"level":20,"text":105,"slug":106},"戻し終わった、それで？","戻-終",{"level":48,"text":108,"slug":109},"OTA のあと root は消える","ota-root-消",{"level":48,"text":111,"slug":112},"再 root：猶予の窓","再-root-猶予-窓",{"level":48,"text":114,"slug":115},"もっと楽な方法：未使用スロットにインストール","楽-方法-未使用",{"level":20,"text":117,"slug":118},"カメラのクラッシュ：本当の長い尾","本当-長-尾",{"level":48,"text":120,"slug":121},"なぜ `my_preload` だけが欠けているのか","my_preload-欠",{"level":48,"text":123,"slug":124},"救出：パーティションを 1 つだけ取り出す","救出-1-取-出",{"level":20,"text":126,"slug":127},"いくつかの雑感","雑感",{"slug":5,"title":129,"lang":130,"desc":131,"date":9,"tags":132,"edit":9,"aiGenerated":11,"aiReview":12,"aiTranslated":133,"readingTime":134,"toc":139},"把一加 Ace 5 从非官方系统刷回 ColorOS 16，顺手把相机救了回来","zh-Hans","从非官方系统回刷 ColorOS 16 的完整踩坑记录：三次翻车、一次相机闪退，以及 root 和 OTA 之间那点绕不开的事。",[],false,{"text":135,"minutes":136,"time":137,"words":138},"14 min read",13.115,786900,2623,[140,142,144,147,150,153,156,159,162,165,168,171,174,177,180,183],{"level":20,"text":141,"slug":141},"起因",{"level":20,"text":143,"slug":143},"两条铁律",{"level":20,"text":145,"slug":146},"验包：不解 8GB 也能先看版本","验包-不解-8gb-也能先看版本",{"level":20,"text":148,"slug":149},"认镜像：别把 EROFS 当坏包","认镜像-别把-erofs-当坏包",{"level":20,"text":151,"slug":152},"刷写：两个模式，各干各的","刷写-两个模式-各干各的",{"level":20,"text":154,"slug":155},"坑一：modem 在 fastbootd 里写不进去","坑一-modem-在-fastbootd-里写不进去",{"level":20,"text":157,"slug":158},"坑二：一加的 `my_*` 分区压根不存在","坑二-一加的-my_-分区压根不存在",{"level":20,"text":160,"slug":161},"坑三：`getvar` 的「不存在」有三种说法","坑三-getvar-的-不存在-有三种说法",{"level":20,"text":163,"slug":164},"回刷完了，然后呢","回刷完了-然后呢",{"level":48,"text":166,"slug":167},"OTA 之后 root 会没","ota-之后-root-会没",{"level":48,"text":169,"slug":170},"重新 root：窗口期","重新-root-窗口期",{"level":48,"text":172,"slug":173},"更省事的做法：安装到未使用的插槽","更省事的做法-安装到未使用的插槽",{"level":20,"text":175,"slug":176},"相机闪退：真正的长尾","相机闪退-真正的长尾",{"level":48,"text":178,"slug":179},"为什么偏偏缺 `my_preload`","为什么偏偏缺-my_preload",{"level":48,"text":181,"slug":182},"抢救：只取一个分区","抢救-只取一个分区",{"level":20,"text":184,"slug":184},"几句碎碎念",{"slug":5,"title":186,"lang":187,"desc":188,"date":9,"tags":189,"edit":9,"aiGenerated":11,"aiReview":12,"aiTranslated":133,"readingTime":190,"toc":191},"把一加 Ace 5 從非官方系統刷回 ColorOS 16，順手把相機救了回來","zh-Hant","從非官方系統回刷 ColorOS 16 的完整踩坑記錄：三次翻車、一次相機閃退，以及 root 和 OTA 之間那點繞不開的事。",[],{"text":135,"minutes":136,"time":137,"words":138},[192,193,195,198,201,204,207,210,213,216,219,220,223,226,229,232],{"level":20,"text":141,"slug":141},{"level":20,"text":194,"slug":194},"兩條鐵律",{"level":20,"text":196,"slug":197},"驗包：不解 8GB 也能先看版本","驗包-不解-8gb-也能先看版本",{"level":20,"text":199,"slug":200},"認鏡像：別把 EROFS 當壞包","認鏡像-別把-erofs-當壞包",{"level":20,"text":202,"slug":203},"刷寫：兩個模式，各幹各的","刷寫-兩個模式-各幹各的",{"level":20,"text":205,"slug":206},"坑一：modem 在 fastbootd 裏寫不進去","坑一-modem-在-fastbootd-裏寫不進去",{"level":20,"text":208,"slug":209},"坑二：一加的 `my_*` 分區壓根不存在","坑二-一加的-my_-分區壓根不存在",{"level":20,"text":211,"slug":212},"坑三：`getvar` 的「不存在」有三種說法","坑三-getvar-的-不存在-有三種說法",{"level":20,"text":214,"slug":215},"回刷完了，然後呢","回刷完了-然後呢",{"level":48,"text":217,"slug":218},"OTA 之後 root 會沒","ota-之後-root-會沒",{"level":48,"text":169,"slug":170},{"level":48,"text":221,"slug":222},"更省事的做法：安裝到未使用的插槽","更省事的做法-安裝到未使用的插槽",{"level":20,"text":224,"slug":225},"相機閃退：真正的長尾","相機閃退-真正的長尾",{"level":48,"text":227,"slug":228},"爲什麼偏偏缺 `my_preload`","爲什麼偏偏缺-my_preload",{"level":48,"text":230,"slug":231},"搶救：只取一個分區","搶救-只取一個分區",{"level":20,"text":233,"slug":233},"幾句碎碎念",{"slug":235,"title":236,"lang":7,"desc":237,"date":238,"tags":239,"edit":238,"aiGenerated":11,"aiReview":240,"aiTranslated":11,"readingTime":241,"toc":246},"sorting-sins","A Whimsical \"Sin of Sorting\": What If You Use a Random Comparator for Sorting?","What happens if I use a random function as a comparator when sorting?","2026-07-15T00:00:00.000Z",[],"充分核对",{"text":242,"minutes":243,"time":244,"words":245},"7 min read",6.67,400200,1334,[247,250,253,256,259,262,265,268,271,274,277,280],{"level":20,"text":248,"slug":249},"A Whimsical Thought","a-whimsical-thought",{"level":20,"text":251,"slug":252},"Initial Guesses","initial-guesses",{"level":20,"text":254,"slug":255},"Behavior by Language","behavior-by-language",{"level":48,"text":257,"slug":258},"JavaScript (Node.js v24.14.0 \u002F Bun.js 1.3.14 \u002F Deno.js 2.9.2)","javascript-node-js-v24-14-0-bun-js-1-3-14-deno-js-2-9-2",{"level":48,"text":260,"slug":261},"Python (Python 3.14.3)","python-python-3-14-3",{"level":48,"text":263,"slug":264},"Go (go 1.26.2)","go-go-1-26-2",{"level":48,"text":266,"slug":267},"C++ (clang 22.1.8)","c-clang-22-1-8",{"level":48,"text":269,"slug":270},"C# (.NET 10.0.301)","c-net-10-0-301",{"level":48,"text":272,"slug":273},"Java (JDK 26.0.1)","java-jdk-26-0-1",{"level":48,"text":275,"slug":276},"Rust (rustc 1.97.0)","rust-rustc-1-97-0",{"level":20,"text":278,"slug":279},"Rust: But Is That Really the Whole Story?","rust-but-is-that-really-the-whole-story",{"level":20,"text":281,"slug":282},"Summary","summary",{"slug":235,"title":284,"lang":71,"desc":285,"date":238,"tags":286,"edit":238,"aiGenerated":11,"aiReview":240,"aiTranslated":11,"readingTime":287,"toc":291},"突発的な思いつき「ソートの罪」：ソートにランダムコンパレータを使ったらどうなるか","ソートの際に比較関数としてランダム関数を使ったら、何が起こるのか？",[],{"text":14,"minutes":288,"time":289,"words":290},10.49,629400,2098,[292,295,298,301,303,305,307,309,311,313,315,318],{"level":20,"text":293,"slug":294},"突発的な思いつき","突発的-思",{"level":20,"text":296,"slug":297},"結果の予想","結果-予想",{"level":20,"text":299,"slug":300},"各言語の振る舞い","各言語-振-舞",{"level":48,"text":302,"slug":258},"JavaScript（Node.js v24.14.0 \u002F Bun.js 1.3.14 \u002F Deno.js 2.9.2）",{"level":48,"text":304,"slug":261},"Python（Python 3.14.3）",{"level":48,"text":306,"slug":264},"Go（go 1.26.2）",{"level":48,"text":308,"slug":267},"C++（clang 22.1.8）",{"level":48,"text":310,"slug":270},"C#（.NET 10.0.301）",{"level":48,"text":312,"slug":273},"Java（JDK 26.0.1）",{"level":48,"text":314,"slug":276},"Rust（rustc 1.97.0）",{"level":20,"text":316,"slug":317},"Rust：だが、本当にそうなのか？","rust-本当",{"level":20,"text":319,"slug":82},"まとめ",{"slug":235,"title":321,"lang":130,"desc":322,"date":238,"tags":323,"edit":238,"aiGenerated":11,"aiReview":240,"aiTranslated":133,"readingTime":324,"toc":329},"一次突发奇想的「排序之罪」：如果对排序使用随机比较器","如果我在排序的时候用一个随机函数做比较器，会发生什么？",[],{"text":325,"minutes":326,"time":327,"words":328},"10 min read",9.145,548700,1829,[330,332,334,336,337,338,339,340,341,342,343,346],{"level":20,"text":331,"slug":331},"突发奇想",{"level":20,"text":333,"slug":333},"对结果的猜想",{"level":20,"text":335,"slug":335},"各语言表现",{"level":48,"text":302,"slug":258},{"level":48,"text":304,"slug":261},{"level":48,"text":306,"slug":264},{"level":48,"text":308,"slug":267},{"level":48,"text":310,"slug":270},{"level":48,"text":312,"slug":273},{"level":48,"text":314,"slug":276},{"level":20,"text":344,"slug":345},"Rust：可是，当真如此吗？","rust-可是-当真如此吗",{"level":20,"text":347,"slug":347},"总结",{"slug":235,"title":349,"lang":187,"desc":350,"date":238,"tags":351,"edit":238,"aiGenerated":11,"aiReview":240,"aiTranslated":133,"readingTime":352,"toc":353},"一次突發奇想的「排序之罪」：如果對排序使用隨機比較器","如果我在排序的時候用一個隨機函數做比較器，會發生什麼？",[],{"text":325,"minutes":326,"time":327,"words":328},[354,356,358,360,361,362,363,364,365,366,367,370],{"level":20,"text":355,"slug":355},"突發奇想",{"level":20,"text":357,"slug":357},"對結果的猜想",{"level":20,"text":359,"slug":359},"各語言表現",{"level":48,"text":302,"slug":258},{"level":48,"text":304,"slug":261},{"level":48,"text":306,"slug":264},{"level":48,"text":308,"slug":267},{"level":48,"text":310,"slug":270},{"level":48,"text":312,"slug":273},{"level":48,"text":314,"slug":276},{"level":20,"text":368,"slug":369},"Rust：可是，當真如此嗎？","rust-可是-當真如此嗎",{"level":20,"text":371,"slug":371},"總結",{"slug":373,"title":374,"lang":7,"desc":375,"date":376,"tags":377,"edit":376,"aiGenerated":133,"aiReview":82,"aiTranslated":11,"readingTime":378,"toc":383},"cf-network","How to Display the Current Cloudflare Network Used on a Website","By parsing Cloudflare's \u002Fcdn-cgi\u002Ftrace endpoint to obtain the current network node ID, and then matching the node name using Cloudflare Status's public API, you can dynamically display the name of the Cloudflare network that the visitor is using on your website.","2026-05-24T00:00:00.000Z",[],{"text":379,"minutes":380,"time":381,"words":382},"2 min read",1.88,112800,376,[384,387],{"level":48,"text":385,"slug":386},"Implementation Approach","implementation-approach",{"level":48,"text":388,"slug":389},"Code Implementation","code-implementation",{"slug":373,"title":391,"lang":71,"desc":392,"date":376,"tags":393,"edit":376,"aiGenerated":133,"aiReview":82,"aiTranslated":11,"readingTime":394,"toc":399},"ウェブサイトに現在使用中の Cloudflare ネットワークを表示する方法","Cloudflare の \u002Fcdn-cgi\u002Ftrace エンドポイントを解析して現在のネットワークノード ID を取得し、Cloudflare Status の公開 API でノード名を照合することで、訪問者が使用中の Cloudflare ネットワーク名をウェブサイトに動的に表示します。",[],{"text":395,"minutes":396,"time":397,"words":398},"3 min read",2.645,158700,529,[400,402],{"level":48,"text":401,"slug":401},"実装方法",{"level":48,"text":403,"slug":404},"コード実装","実装",{"slug":373,"title":406,"lang":130,"desc":407,"date":376,"tags":408,"edit":376,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":409,"toc":413},"如何在网站显示当前使用的 Cloudflare 网络","通过解析 Cloudflare 的 \u002Fcdn-cgi\u002Ftrace 接口获取当前网络节点 ID，再结合 Cloudflare Status 的公共 API 匹配出节点名称，从而在网站上动态显示访客正在使用的 Cloudflare 网络名称。",[],{"text":395,"minutes":410,"time":411,"words":412},2.57,154200,514,[414,416],{"level":48,"text":415,"slug":415},"实现方式",{"level":48,"text":417,"slug":417},"代码实现",{"slug":373,"title":419,"lang":187,"desc":420,"date":376,"tags":421,"edit":376,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":422,"toc":423},"如何在網站顯示當前使用的 Cloudflare 網絡","通過解析 Cloudflare 的 \u002Fcdn-cgi\u002Ftrace 接口獲取當前網絡節點 ID，再結合 Cloudflare Status 的公共 API 匹配出節點名稱，從而在網站上動態顯示訪客正在使用的 Cloudflare 網絡名稱。",[],{"text":395,"minutes":410,"time":411,"words":412},[424,426],{"level":48,"text":425,"slug":425},"實現方式",{"level":48,"text":427,"slug":427},"代碼實現",{"slug":429,"title":430,"lang":7,"desc":431,"date":432,"tags":433,"edit":432,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":434,"toc":438},"about-name","About the Name of Weixi","The origin of the name \"Weixi\"","2026-05-18T00:00:00.000Z",[],{"text":395,"minutes":435,"time":436,"words":437},2.025,121500,405,[439,442,445,448],{"level":48,"text":440,"slug":441},"My Names","my-names",{"level":48,"text":443,"slug":444},"About \"Kuriyona\"","about-kuriyona",{"level":48,"text":446,"slug":447},"About \"Weixi\" (未晞)","about-weixi-未晞",{"level":48,"text":449,"slug":450},"A Short Note","a-short-note",{"slug":429,"title":452,"lang":71,"desc":453,"date":432,"tags":454,"edit":455,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":456,"toc":461},"未晞の名前について","未晞（ウェイシー）という名前の由来",[],"2026-06-20T00:00:00.000Z",{"text":457,"minutes":458,"time":459,"words":460},"4 min read",3.1,186000,620,[462,465,468,471],{"level":48,"text":463,"slug":464},"わたしの名前","名前",{"level":48,"text":466,"slug":467},"「Kuriyona」について","kuriyona",{"level":48,"text":469,"slug":470},"「未晞」について","未晞",{"level":48,"text":472,"slug":473},"小さな記","小-記",{"slug":429,"title":475,"lang":130,"desc":476,"date":432,"tags":477,"edit":432,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":478,"toc":482},"关于未晞的名字","未晞名字的由来",[],{"text":379,"minutes":479,"time":480,"words":481},1.61,96600,322,[483,485,488,491],{"level":48,"text":484,"slug":484},"我的名字",{"level":48,"text":486,"slug":487},"关于「Kuriyona」","关于-kuriyona",{"level":48,"text":489,"slug":490},"关于「未晞」","关于-未晞",{"level":48,"text":492,"slug":492},"小记",{"slug":429,"title":494,"lang":187,"desc":495,"date":432,"tags":496,"edit":432,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":497,"toc":498},"關於未晞的名字","未晞名字的由來",[],{"text":379,"minutes":479,"time":480,"words":481},[499,500,503,506],{"level":48,"text":484,"slug":484},{"level":48,"text":501,"slug":502},"關於「Kuriyona」","關於-kuriyona",{"level":48,"text":504,"slug":505},"關於「未晞」","關於-未晞",{"level":48,"text":507,"slug":507},"小記",{"slug":509,"title":510,"lang":130,"desc":511,"date":512,"tags":513,"edit":514,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":515,"toc":520},"hello-world","Hello World","这是未晞的第一个博客喵~","2026-05-16T00:00:00.000Z",[],"2026-05-17T00:00:00.000Z",{"text":516,"minutes":517,"time":518,"words":519},"1 min read",0.125,7500,25,[],{"slug":509,"title":510,"lang":187,"desc":522,"date":512,"tags":523,"edit":514,"aiGenerated":133,"aiReview":82,"aiTranslated":133,"readingTime":524,"toc":525},"這是未晞的第一個博客喵~",[],{"text":516,"minutes":517,"time":518,"words":519},[],[527,530,533,536,539,542,545,548,551,554,557,560,563,566,569,572,575,578,581,584,587,590,593,596,599,602,605,608,611,614,617,620,623,626,629,632,635,638,641,644,647,650,653,656,659,662,665,668,671,674,677,680,683,686,689,692,695,698,701,704,707,710,713,716,719,722,725,728,731,734,737,740,743,746,749,752,755,758,761,764,767,770,773,776,779,782,785,788,791,794,797,800,803,806,809,812,815,818,821,824,827,830,833,836,839,842,845,848,851,854,857,860,863,866,869,872,875,878,881,884,887,890,893,896,899,902,905,908,911,914,917,920,923,926,929,932,935,938,941,944,947,950,953,956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1016,1019,1022,1025,1028,1031,1034,1037,1040,1043,1046,1049,1052,1055,1058,1061,1064,1067,1070,1073,1076,1079,1082,1085,1088,1091,1094,1097,1100,1103,1106,1109,1112,1115,1118,1121,1124,1127,1130,1133,1136,1139,1142,1145,1148,1151,1154,1157,1160,1163,1166,1169,1172,1175,1178,1181,1184,1187,1190,1193,1196,1199,1202,1205,1208,1211,1214,1217,1220,1223,1226,1229,1232,1235,1238,1241,1244,1247,1250,1253,1256,1259,1262,1265,1268,1271,1274,1277,1280,1283,1286,1289,1292,1295,1298,1301,1304,1307,1310,1313,1316,1319,1322,1325,1328,1331,1334,1337,1340,1343,1346,1349,1352,1355,1358,1361,1364,1367,1370,1373,1376,1379,1382,1385,1388,1391,1394,1397,1400,1403,1406,1409,1412,1415,1418,1421,1424,1427,1430,1433,1436,1439,1442,1445,1448,1451,1454,1457,1460,1463,1466,1469,1472,1475,1478,1481],{"name":528,"code":529},"Amsterdam, Netherlands - (AMS)","AMS",{"name":531,"code":532},"Amman, Jordan - (AMM)","AMM",{"name":534,"code":535},"Adelaide, SA, Australia - (ADL)","ADL",{"name":537,"code":538},"Americana, Brazil - (QWJ)","QWJ",{"name":540,"code":541},"Accra, Ghana - (ACC)","ACC",{"name":543,"code":544},"Ahmedabad, India - (AMD)","AMD",{"name":546,"code":547},"Albuquerque, NM, United States - (ABQ)","ABQ",{"name":549,"code":550},"Auckland, New Zealand - (AKL)","AKL",{"name":552,"code":553},"Athens, Greece - (ATH)","ATH",{"name":555,"code":556},"Arica, Chile - (ARI)","ARI",{"name":558,"code":559},"Algiers, Algeria - (ALG)","ALG",{"name":561,"code":562},"Almaty, Kazakhstan - (ALA)","ALA",{"name":564,"code":565},"Astara, Azerbaijan - (LLK)","LLK",{"name":567,"code":568},"Anchorage, AK, United States - (ANC)","ANC",{"name":570,"code":571},"Ashburn, VA, United States - (IAD)","IAD",{"name":573,"code":574},"Brisbane, QLD, Australia - (BNE)","BNE",{"name":576,"code":577},"Barcelona, Spain - (BCN)","BCN",{"name":579,"code":580},"Baghdad, Iraq - (BGW)","BGW",{"name":582,"code":583},"Annaba, Algeria - (AAE)","AAE",{"name":585,"code":586},"Atlanta, GA, United States - (ATL)","ATL",{"name":588,"code":589},"Belgrade, Serbia - (BEG)","BEG",{"name":591,"code":592},"Baku, Azerbaijan - (GYD)","GYD",{"name":594,"code":595},"Bangalore, India - (BLR)","BLR",{"name":597,"code":598},"Antananarivo, Madagascar - (TNR)","TNR",{"name":600,"code":601},"Canberra, ACT, Australia - (CBR)","CBR",{"name":603,"code":604},"Berlin, Germany - (TXL)","TXL",{"name":606,"code":607},"Bangkok, Thailand - (BKK)","BKK",{"name":609,"code":610},"Cape Town, South Africa - (CPT)","CPT",{"name":612,"code":613},"Belo Horizonte, Brazil - (CNF)","CNF",{"name":615,"code":616},"Basra, Iraq - (BSR)","BSR",{"name":618,"code":619},"Christchurch, New Zealand - (CHC)","CHC",{"name":621,"code":622},"Austin, TX, United States - (AUS)","AUS",{"name":624,"code":625},"Beirut, Lebanon - (BEY)","BEY",{"name":627,"code":628},"Bandar Seri Begawan, Brunei - (BWN)","BWN",{"name":630,"code":631},"Hagatna, Guam - (GUM)","GUM",{"name":633,"code":634},"Bangor, ME, United States - (BGR)","BGR",{"name":636,"code":637},"Bordeaux, France - (BOD)","BOD",{"name":639,"code":640},"Boston, MA, United States - (BOS)","BOS",{"name":642,"code":643},"Dakar, Senegal - (DKR)","DKR",{"name":645,"code":646},"Dammam, Saudi Arabia - (DMM)","DMM",{"name":648,"code":649},"Bratislava, Slovakia   - (BTS)","BTS",{"name":651,"code":652},"Melbourne, VIC, Australia - (MEL)","MEL",{"name":654,"code":655},"Doha, Qatar - (DOH)","DOH",{"name":657,"code":658},"Brussels, Belgium - (BRU)","BRU",{"name":660,"code":661},"Dar Es Salaam, Tanzania - (DAR)","DAR",{"name":663,"code":664},"Brasilia, Brazil - (BSB)","BSB",{"name":666,"code":667},"Buenos Aires, Argentina - (EZE)","EZE",{"name":669,"code":670},"Bucharest, Romania - (OTP)","OTP",{"name":672,"code":673},"Dubai, United Arab Emirates - (DXB)","DXB",{"name":675,"code":676},"Djibouti City, Djibouti - (JIB)","JIB",{"name":678,"code":679},"Calgary, AB, Canada - (YYC)","YYC",{"name":681,"code":682},"Cebu, Philippines - (CEB)","CEB",{"name":684,"code":685},"Noumea, New Caledonia - (NOU)","NOU",{"name":687,"code":688},"Perth, WA, Australia - (PER)","PER",{"name":690,"code":691},"Budapest, Hungary - (BUD)","BUD",{"name":693,"code":694},"Durban, South Africa - (DUR)","DUR",{"name":696,"code":697},"Charlotte, NC, United States - (CLT)","CLT",{"name":699,"code":700},"Erbil, Iraq - (EBL)","EBL",{"name":702,"code":703},"Chandigarh, India - (IXC)","IXC",{"name":705,"code":706},"Chicago, IL, United States - (ORD)","ORD",{"name":708,"code":709},"Sydney, NSW, Australia - (SYD)","SYD",{"name":711,"code":712},"Campinas, Brazil - (VCP)","VCP",{"name":714,"code":715},"Changde, China - (CGD)","CGD",{"name":717,"code":718},"Haifa, Israel - (HFA)","HFA",{"name":720,"code":721},"Gaborone, Botswana - (GBE)","GBE",{"name":723,"code":724},"Copenhagen, Denmark - (CPH)","CPH",{"name":726,"code":727},"Chennai, India - (MAA)","MAA",{"name":729,"code":730},"Harare, Zimbabwe - (HRE)","HRE",{"name":732,"code":733},"Jeddah, Saudi Arabia - (JED)","JED",{"name":735,"code":736},"Tahiti, French Polynesia - (PPT)","PPT",{"name":738,"code":739},"Cleveland, OH, United States - (CLE)","CLE",{"name":741,"code":742},"Johannesburg, South Africa - (JNB)","JNB",{"name":744,"code":745},"Kuwait City, Kuwait - (KWI)","KWI",{"name":747,"code":748},"Dublin, Ireland - (DUB)","DUB",{"name":750,"code":751},"Columbus, OH, United States - (CMH)","CMH",{"name":753,"code":754},"Suva, Fiji - (SUV)","SUV",{"name":756,"code":757},"Dallas, TX, United States - (DFW)","DFW",{"name":759,"code":760},"Manama, Bahrain - (BAH)","BAH",{"name":762,"code":763},"Kigali, Rwanda - (KGL)","KGL",{"name":765,"code":766},"Chittagong, Bangladesh - (CGP)","CGP",{"name":768,"code":769},"Hobart, Australia - (HBA)","HBA",{"name":771,"code":772},"Frankfurt, Germany - (FRA)","FRA",{"name":774,"code":775},"Muscat, Oman - (MCT)","MCT",{"name":777,"code":778},"Denver, CO, United States - (DEN)","DEN",{"name":780,"code":781},"Colombo, Sri Lanka - (CMB)","CMB",{"name":783,"code":784},"Lagos, Nigeria - (LOS)","LOS",{"name":786,"code":787},"Curitiba, Brazil - (CWB)","CWB",{"name":789,"code":790},"Wellington, New Zealand - (WLG)","WLG",{"name":792,"code":793},"Luanda, Angola - (LAD)","LAD",{"name":795,"code":796},"Detroit, MI, United States - (DTW)","DTW",{"name":798,"code":799},"Geneva, Switzerland - (GVA)","GVA",{"name":801,"code":802},"Dhaka, Bangladesh - (DAC)","DAC",{"name":804,"code":805},"Florianopolis, Brazil - (FLN)","FLN",{"name":807,"code":808},"Najaf, Iraq - (NJF)","NJF",{"name":810,"code":811},"Fortaleza, Brazil - (FOR)","FOR",{"name":813,"code":814},"Gothenburg, Sweden - (GOT)","GOT",{"name":816,"code":817},"Maputo, Mozambique - (MPM)","MPM",{"name":819,"code":820},"Foshan, China - (FUO)","FUO",{"name":822,"code":823},"Nasiriyah, Iraq - (XNH)","XNH",{"name":825,"code":826},"Durham, NC, United States - (RDU)","RDU",{"name":828,"code":829},"Mombasa, Kenya - (MBA)","MBA",{"name":831,"code":832},"Hamburg, Germany - (HAM)","HAM",{"name":834,"code":835},"Ramallah - (ZDM)","ZDM",{"name":837,"code":838},"Georgetown, Guyana - (GEO)","GEO",{"name":840,"code":841},"Fukuoka, Japan - (FUK)","FUK",{"name":843,"code":844},"Guadalajara, Mexico - (GDL)","GDL",{"name":846,"code":847},"Helsinki, Finland - (HEL)","HEL",{"name":849,"code":850},"Riyadh, Saudi Arabia - (RUH)","RUH",{"name":852,"code":853},"Nairobi, Kenya - (NBO)","NBO",{"name":855,"code":856},"Fuzhou, China - (FOC)","FOC",{"name":858,"code":859},"Halifax, Canada - (YHZ)","YHZ",{"name":861,"code":862},"Guangzhou, China - (CAN)","CAN",{"name":864,"code":865},"Istanbul, Turkey - (IST)","IST",{"name":867,"code":868},"Guatemala City, Guatemala - (GUA)","GUA",{"name":870,"code":871},"Honolulu, HI, United States - (HNL)","HNL",{"name":873,"code":874},"Sulaymaniyah, Iraq - (ISU)","ISU",{"name":876,"code":877},"Oran, Algeria - (ORN)","ORN",{"name":879,"code":880},"Tel Aviv, Israel - (TLV)","TLV",{"name":882,"code":883},"Houston, TX, United States - (IAH)","IAH",{"name":885,"code":886},"Guayaquil, Ecuador - (GYE)","GYE",{"name":888,"code":889},"Haikou, China - (HAK)","HAK",{"name":891,"code":892},"Ouagadougou, Burkina Faso   - (OUA)","OUA",{"name":894,"code":895},"Izmir, Turkey - (ADB)","ADB",{"name":897,"code":898},"Kyiv, Ukraine - (KBP)","KBP",{"name":900,"code":901},"Port Louis, Mauritius - (MRU)","MRU",{"name":903,"code":904},"Indianapolis, IN, United States - (IND)","IND",{"name":906,"code":907},"Hanoi, Vietnam - (HAN)","HAN",{"name":909,"code":910},"Lisbon, Portugal - (LIS)","LIS",{"name":912,"code":913},"Jacksonville, FL, United States - (JAX)","JAX",{"name":915,"code":916},"Hengshui, China - (SJW)","SJW",{"name":918,"code":919},"Joinville, Brazil - (JOI)","JOI",{"name":921,"code":922},"London, United Kingdom - (LHR)","LHR",{"name":924,"code":925},"Kansas City, MO, United States - (MCI)","MCI",{"name":927,"code":928},"Ho Chi Minh City, Vietnam - (SGN)","SGN",{"name":930,"code":931},"Tunis, Tunisia - (TUN)","TUN",{"name":933,"code":934},"Juazeiro do Norte, Brazil - (JDO)","JDO",{"name":936,"code":937},"Hong Kong - (HKG)","HKG",{"name":939,"code":940},"Lima, Peru - (LIM)","LIM",{"name":942,"code":943},"Luxembourg City, Luxembourg - (LUX)","LUX",{"name":945,"code":946},"Kingston, Jamaica - (KIN)","KIN",{"name":948,"code":949},"Kinshasa, DR Congo - (FIH)","FIH",{"name":951,"code":952},"Las Vegas, NV, United States - (LAS)","LAS",{"name":954,"code":955},"Hyderabad, India - (HYD)","HYD",{"name":957,"code":958},"Manaus, Brazil - (MAO)","MAO",{"name":960,"code":961},"Lyon, France - (LYS)","LYS",{"name":963,"code":964},"Cairo, Egypt - (CAI)","CAI",{"name":966,"code":967},"Los Angeles, CA, United States - (LAX)","LAX",{"name":969,"code":970},"Madrid, Spain - (MAD)","MAD",{"name":972,"code":973},"Islamabad, Pakistan - (ISB)","ISB",{"name":975,"code":976},"Windhoek, Namibia - (WDH)","WDH",{"name":978,"code":979},"Manchester, United Kingdom - (MAN)","MAN",{"name":981,"code":982},"Memphis, TN, United States - (MEM)","MEM",{"name":984,"code":985},"Jakarta, Indonesia - (CGK)","CGK",{"name":987,"code":988},"Yamoussoukro, Ivory Coast - (ASK)","ASK",{"name":990,"code":991},"Marseille, France - (MRS)","MRS",{"name":993,"code":994},"Panama City, Panama - (PTY)","PTY",{"name":996,"code":997},"Mexico City, Mexico - (MEX)","MEX",{"name":999,"code":1000},"Abidjan, Ivory Coast - (ABJ)","ABJ",{"name":1002,"code":1003},"Miami, FL, United States - (MIA)","MIA",{"name":1005,"code":1006},"Milan, Italy - (MXP)","MXP",{"name":1008,"code":1009},"Jinan, China - (TNA)","TNA",{"name":1011,"code":1012},"Paramaribo, Suriname - (PBM)","PBM",{"name":1014,"code":1015},"Kampala, Uganda - (EBB)","EBB",{"name":1017,"code":1018},"Minneapolis, MN, United States - (MSP)","MSP",{"name":1020,"code":1021},"Porto Alegre, Brazil - (POA)","POA",{"name":1023,"code":1024},"Minsk, Belarus - (MSQ)","MSQ",{"name":1026,"code":1027},"Moscow, Russia - (DME)","DME",{"name":1029,"code":1030},"Johor Bahru, Malaysia - (JHB)","JHB",{"name":1032,"code":1033},"Quito, Ecuador - (UIO)","UIO",{"name":1035,"code":1036},"Munich, Germany - (MUC)","MUC",{"name":1038,"code":1039},"Kanpur, India - (KNU)","KNU",{"name":1041,"code":1042},"Nashville, United States - (BNA)","BNA",{"name":1044,"code":1045},"Newark, NJ, United States - (EWR)","EWR",{"name":1047,"code":1048},"Nicosia, Cyprus - (LCA)","LCA",{"name":1050,"code":1051},"Kaohsiung City - (KHH)","KHH",{"name":1053,"code":1054},"Recife, Brazil - (REC)","REC",{"name":1056,"code":1057},"Oslo, Norway - (OSL)","OSL",{"name":1059,"code":1060},"Norfolk, VA, United States - (ORF)","ORF",{"name":1062,"code":1063},"Karachi, Pakistan - (KHI)","KHI",{"name":1065,"code":1066},"Ribeirao Preto, Brazil - (RAO)","RAO",{"name":1068,"code":1069},"Rio de Janeiro, Brazil - (GIG)","GIG",{"name":1071,"code":1072},"Kathmandu, Nepal - (KTM)","KTM",{"name":1074,"code":1075},"Palermo, Italy - (PMO)","PMO",{"name":1077,"code":1078},"Oklahoma City, OK, United States - (OKC)","OKC",{"name":1080,"code":1081},"Paris, France - (CDG)","CDG",{"name":1083,"code":1084},"Omaha, NE, United States - (OMA)","OMA",{"name":1086,"code":1087},"Prague, Czech Republic - (PRG)","PRG",{"name":1089,"code":1090},"Kolkata, India - (CCU)","CCU",{"name":1092,"code":1093},"Santiago, Chile - (SCL)","SCL",{"name":1095,"code":1096},"Philadelphia, United States - (PHL)","PHL",{"name":1098,"code":1099},"Lusaka, Zambia - (LUN)","LUN",{"name":1101,"code":1102},"Kuala Lumpur, Malaysia - (KUL)","KUL",{"name":1104,"code":1105},"Phoenix, AZ, United States - (PHX)","PHX",{"name":1107,"code":1108},"Riga, Latvia - (RIX)","RIX",{"name":1110,"code":1111},"Santo Domingo, Dominican Republic - (SDQ)","SDQ",{"name":1113,"code":1114},"Addis Ababa, Ethiopia - (ADD)","ADD",{"name":1116,"code":1117},"Rome, Italy - (FCO)","FCO",{"name":1119,"code":1120},"Pittsburgh, PA, United States - (PIT)","PIT",{"name":1122,"code":1123},"Portland, OR, United States - (PDX)","PDX",{"name":1125,"code":1126},"Saint Petersburg, Russia - (LED)","LED",{"name":1128,"code":1129},"Langfang, China - (PKX)","PKX",{"name":1131,"code":1132},"Constantine, Algeria - (CZL)","CZL",{"name":1134,"code":1135},"Queretaro, MX, Mexico - (QRO)","QRO",{"name":1137,"code":1138},"Santa Venera, Malta - (MLA)","MLA",{"name":1140,"code":1141},"Douala, Cameroon - (DLA)","DLA",{"name":1143,"code":1144},"Richmond, VA, United States - (RIC)","RIC",{"name":1146,"code":1147},"Sorocaba, Brazil - (SOD)","SOD",{"name":1149,"code":1150},"Skopje, North Macedonia - (SKP)","SKP",{"name":1152,"code":1153},"Lilongwe, Malawi - (LLW)","LLW",{"name":1155,"code":1156},"Sofia, Bulgaria - (SOF)","SOF",{"name":1158,"code":1159},"Macau - (MFM)","MFM",{"name":1161,"code":1162},"Sacramento, CA, United States - (SMF)","SMF",{"name":1164,"code":1165},"Stockholm, Sweden - (ARN)","ARN",{"name":1167,"code":1168},"Salt Lake City, UT, United States - (SLC)","SLC",{"name":1170,"code":1171},"Tegucigalpa, Honduras - (TGU)","TGU",{"name":1173,"code":1174},"Stuttgart, Germany   - (STR)","STR",{"name":1176,"code":1177},"San Antonio, TX, United States - (SAT)","SAT",{"name":1179,"code":1180},"Manila, Philippines - (MNL)","MNL",{"name":1182,"code":1183},"San Diego, CA, United States - (SAN)","SAN",{"name":1185,"code":1186},"Tallinn, Estonia - (TLL)","TLL",{"name":1188,"code":1189},"Mumbai, India - (BOM)","BOM",{"name":1191,"code":1192},"Tbilisi, Georgia - (TBS)","TBS",{"name":1194,"code":1195},"San Francisco, CA, United States - (SFO)","SFO",{"name":1197,"code":1198},"Vitoria, Brazil - (VIX)","VIX",{"name":1200,"code":1201},"San Jose, CA, United States - (SJC)","SJC",{"name":1203,"code":1204},"Thessaloniki, Greece - (SKG)","SKG",{"name":1206,"code":1207},"Nagpur, India - (NAG)","NAG",{"name":1209,"code":1210},"Saskatoon, SK, Canada - (YXE)","YXE",{"name":1212,"code":1213},"Naha, Japan  - (OKA)","OKA",{"name":1215,"code":1216},"Tirana, Albania - (TIA)","TIA",{"name":1218,"code":1219},"Campos dos Goytacazes, Brazil - (CAW)","CAW",{"name":1221,"code":1222},"Seattle, WA, United States - (SEA)","SEA",{"name":1224,"code":1225},"Vienna, Austria - (VIE)","VIE",{"name":1227,"code":1228},"New Delhi, India - (DEL)","DEL",{"name":1230,"code":1231},"Chapeco, Brazil - (XAP)","XAP",{"name":1233,"code":1234},"Osaka, Japan - (KIX)","KIX",{"name":1236,"code":1237},"Vilnius, Lithuania - (VNO)","VNO",{"name":1239,"code":1240},"Sioux Falls, SD, United States - (FSD)","FSD",{"name":1242,"code":1243},"Bridgetown, Barbados - (BGI)","BGI",{"name":1245,"code":1246},"Warsaw, Poland - (WAW)","WAW",{"name":1248,"code":1249},"Patna, India - (PAT)","PAT",{"name":1251,"code":1252},"Phnom Penh, Cambodia - (PNH)","PNH",{"name":1254,"code":1255},"Tallahassee, FL, United States - (TLH)","TLH",{"name":1257,"code":1258},"Santiago de los Caballeros, Dominican Republic - (STI)","STI",{"name":1260,"code":1261},"Wroclaw, Poland - (WRO)","WRO",{"name":1263,"code":1264},"Zagreb, Croatia - (ZAG)","ZAG",{"name":1266,"code":1267},"Qingdao, China - (TAO)","TAO",{"name":1269,"code":1270},"Tampa, FL, United States - (TPA)","TPA",{"name":1272,"code":1273},"La Paz, Bolivia - (LPB)","LPB",{"name":1275,"code":1276},"Toronto, ON, Canada - (YYZ)","YYZ",{"name":1278,"code":1279},"Seoul, South Korea - (ICN)","ICN",{"name":1281,"code":1282},"Zurich, Switzerland - (ZRH)","ZRH",{"name":1284,"code":1285},"Vancouver, BC, Canada - (YVR)","YVR",{"name":1287,"code":1288},"Shanghai, China - (SHA)","SHA",{"name":1290,"code":1291},"San Juan, Puerto Rico - (SJU)","SJU",{"name":1293,"code":1294},"Singapore, Singapore - (SIN)","SIN",{"name":1296,"code":1297},"Winnipeg, MB, Canada - (YWG)","YWG",{"name":1299,"code":1300},"Barranquilla, Colombia - (BAQ)","BAQ",{"name":1302,"code":1303},"Surat Thani, Thailand - (URT)","URT",{"name":1305,"code":1306},"Palmas, Brazil - (PMW)","PMW",{"name":1308,"code":1309},"Cincinnati, United States - (CVG)","CVG",{"name":1311,"code":1312},"Taipei - (TPE)","TPE",{"name":1314,"code":1315},"Aracatuba, Brazil - (ARU)","ARU",{"name":1317,"code":1318},"Port of Spain, Trinidad and Tobago - (POS)","POS",{"name":1320,"code":1321},"Salvador, Brazil - (SSA)","SSA",{"name":1323,"code":1324},"Tokyo, Japan - (NRT)","NRT",{"name":1326,"code":1327},"Ulaanbaatar, Mongolia - (ULN)","ULN",{"name":1329,"code":1330},"Vientiane, Laos - (VTE)","VTE",{"name":1332,"code":1333},"Xinyu, China - (KHN)","KHN",{"name":1335,"code":1336},"Yerevan, Armenia - (EVN)","EVN",{"name":1338,"code":1339},"Yogyakarta, Indonesia - (JOG)","JOG",{"name":1341,"code":1342},"Cagayan de Oro, Philippines - (CGY)","CGY",{"name":1344,"code":1345},"Ljubljana, Slovenia - (LJU)","LJU",{"name":1347,"code":1348},"Kochi, India - (COK)","COK",{"name":1350,"code":1351},"Cuiaba, Brazil - (CGB)","CGB",{"name":1353,"code":1354},"Denpasar, Indonesia - (DPS)","DPS",{"name":1356,"code":1357},"Kannur, India - (CNN)","CNN",{"name":1359,"code":1360},"Cali, Colombia - (CLO)","CLO",{"name":1362,"code":1363},"San Pedro Sula, Honduras - (SAP)","SAP",{"name":1365,"code":1366},"Shenzhen, China - (SZX)","SZX",{"name":1368,"code":1369},"Guiyang, China - (KWE)","KWE",{"name":1371,"code":1372},"Shaoxing, China - (HGH)","HGH",{"name":1374,"code":1375},"Changzhou, China - (CZX)","CZX",{"name":1377,"code":1378},"Kunming, China - (KMG)","KMG",{"name":1380,"code":1381},"Chiang Mai, Thailand - (CNX)","CNX",{"name":1383,"code":1384},"Zhengzhou, China - (CGO)","CGO",{"name":1386,"code":1387},"Yangquan, China - (TYN)","TYN",{"name":1389,"code":1390},"Changsha, China - (CSX)","CSX",{"name":1392,"code":1393},"Dalian, China - (DLC)","DLC",{"name":1395,"code":1396},"Chongqing, China - (CKG)","CKG",{"name":1398,"code":1399},"Xiangyang, China - (XFN)","XFN",{"name":1401,"code":1402},"Da Nang, Vietnam - (DAD)","DAD",{"name":1404,"code":1405},"Jiaxing, China - (JXG)","JXG",{"name":1407,"code":1408},"Tarlac City, Philippines - (CRK)","CRK",{"name":1410,"code":1411},"Thimphu, Bhutan - (PBH)","PBH",{"name":1413,"code":1414},"Baoji, China - (XIY)","XIY",{"name":1416,"code":1417},"Kuching, Malaysia - (KCH)","KCH",{"name":1419,"code":1420},"Aktobe, Kazakhstan - (AKX)","AKX",{"name":1422,"code":1423},"Tongren, China - (TEN)","TEN",{"name":1425,"code":1426},"Taizhou, China - (HYN)","HYN",{"name":1428,"code":1429},"Bishkek, Kyrgyzstan - (FRU)","FRU",{"name":1431,"code":1432},"Malang, Indonesia - (MLG)","MLG",{"name":1434,"code":1435},"Lahore, Pakistan - (LHE)","LHE",{"name":1437,"code":1438},"Chengdu, China - (CTU)","CTU",{"name":1440,"code":1441},"Agra, India - (AGR)","AGR",{"name":1443,"code":1444},"Coimbatore, India - (CJB)","CJB",{"name":1446,"code":1447},"Xingyi, China - (ACX)","ACX",{"name":1449,"code":1450},"Bhubaneswar, India - (BBI)","BBI",{"name":1452,"code":1453},"Luoyang, China - (LYA)","LYA",{"name":1455,"code":1456},"Pune, India - (PNQ)","PNQ",{"name":1458,"code":1459},"Sambalpur, India - (JRG)","JRG",{"name":1461,"code":1462},"Anshun, China - (AVA)","AVA",{"name":1464,"code":1465},"Astana, Kazakhstan - (NQZ)","NQZ",{"name":1467,"code":1468},"Jamnagar, India - (BDQ)","BDQ",{"name":1470,"code":1471},"Udaipur, India - (UDR)","UDR",{"name":1473,"code":1474},"Jalandhar, India - (AIP)","AIP",{"name":1476,"code":1477},"Lanzhou, China - (LHW)","LHW",{"name":1479,"code":1480},"Dushanbe, Tajikistan - (DYU)","DYU",{"name":1482,"code":1483},"Ludhiana, India - (LUH)","LUH",1792358334970]