<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://msnan.github.io/about</loc><lastmod>2026-10-16T11:00:16.000Z</lastmod></url><url><loc>https://msnan.github.io/archive</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url><url><loc>https://msnan.github.io/categories</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url><url><loc>https://msnan.github.io/donate</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url><url><loc>https://msnan.github.io/</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/bishe-ai-pitfalls</loc><lastmod>2026-10-28T01:25:49.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/china-workday-holiday-js</loc><lastmod>2026-10-17T01:09:55.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/cli-args-frontmatter-pitfalls</loc><lastmod>2026-10-28T01:25:49.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/express-jwt-dual-role-auth</loc><lastmod>2026-10-16T09:49:14.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/express-vue3-rbac-permission-code</loc><lastmod>2026-10-19T01:08:39.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/id-card-credit-code-checksum</loc><lastmod>2026-10-26T01:31:24.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/localstorage-favorites-edge-cases</loc><lastmod>2026-10-30T01:15:00.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/lunar-conversion-edge-cases</loc><lastmod>2026-10-28T01:25:49.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/markdown-clean-regex-pitfalls</loc><lastmod>2026-10-25T01:37:15.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/markdown-it-wechat-render-details</loc><lastmod>2026-10-29T01:18:45.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/mcp-server-stdout-pitfall</loc><lastmod>2026-10-22T01:18:10.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/md-multi-format-wechat-inline-style</loc><lastmod>2026-10-18T01:07:33.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/node-test-runner-glob-node22</loc><lastmod>2026-10-20T01:21:09.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/npx-github-protocol-cli</loc><lastmod>2026-10-21T01:26:44.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/one-skill-md-four-ai-tools</loc><lastmod>2026-10-24T01:19:02.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/openai-compatible-fallback-circuit-breaker</loc><lastmod>2026-10-23T01:28:02.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/pinyin-surname-place-names</loc><lastmod>2026-10-30T01:13:34.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/prompt-template-frontend-details</loc><lastmod>2026-10-27T01:21:29.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/rbac-grant-no-more-than-you-have</loc><lastmod>2026-10-21T01:26:44.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/rbac-self-lockout-guard</loc><lastmod>2026-10-23T01:28:02.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/recommender-hit10-baselines</loc><lastmod>2026-10-26T01:31:24.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/sqlite-seat-booking-race</loc><lastmod>2026-10-22T01:18:10.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/sqljs-export-resets-pragma</loc><lastmod>2026-10-29T01:18:45.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/uni-app-mall-from-0-to-1</loc><lastmod>2026-10-16T09:49:14.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/uniapp-ai-coding-rules</loc><lastmod>2026-10-20T01:17:04.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/uniapp-cart-order-validation</loc><lastmod>2026-10-25T01:37:15.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/uniapp-order-aftersale-state</loc><lastmod>2026-10-31T01:20:54.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/uniapp-scope-denied-getsetting</loc><lastmod>2026-10-24T01:19:02.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/vue-uniapp-skills</loc><lastmod>2026-10-16T15:16:59.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/wechat-group-bot-ui-automation</loc><lastmod>2026-10-16T09:49:14.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/wechat-uia-message-align</loc><lastmod>2026-10-31T01:20:57.000Z</lastmod></url><url><loc>https://msnan.github.io/posts/wechat-update-wm-getobject</loc><lastmod>2026-10-27T01:21:29.000Z</lastmod></url><url><loc>https://msnan.github.io/projects</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url><url><loc>https://msnan.github.io/rss</loc><lastmod>2026-10-16T10:53:47.000Z</lastmod></url><url><loc>https://msnan.github.io/tags</loc><lastmod>2026-10-16T10:48:58.000Z</lastmod></url></urlset>