stanford-oval/wikipedia huggingface dataset:
臺北市政府產業發展局
組織

秘書室
人事室
會計室
資訊室
政風室
綜合企劃科
工商服務科
公用事業科
農業發展科
科技產業服務中心
臺北市市場處
臺北市商業處
臺北市動物保護處
臺北市動物之家
迎風狗運動公園
潭美毛寶貝快樂公園
歷任局長

吳永譽
許整備
夏漢容
林逢慶
黃榮峰
林聖忠
陳雄文
| 任次 | 姓名 | 就任時間 | 備註 |
| --- | --- | --- | --- |
| 1 | 陳雄文 |  |  |
| 2 | 黃啟瑞 | 2012年2月29日 |  |
| 3 | 林崇傑 | 2014年12月25日 |  |
| 4 | 陳俊安 | 2022年12月25日 | 現任 |
外部連結

臺北市政府產業發展局 （页面存档备份，存于）（中文）（英文）
庫皮奇沃利亞

50°10′6″N 24°10′43″E﻿ / ﻿50.16833°N 24.17861°E﻿ / 50.16833; 24.17861
庫皮奇沃利亞（烏克蘭語：），是烏克蘭西部的村莊，隸屬利維夫州的舍普季茨基區。該村始建於1610年，面積27.23平方公里，2001年人口847，人口密度每平方公里31.11人。
參考資料

Римо-католицька каплиця, 1924-1925 （页面存档备份，存于）
Дерев'яна не діюча церква прсв. Євхаристії 1924
Пам'ятки Галичини. Купичволя （页面存档备份，存于）
非洲国家和地区对俄罗斯入侵乌克兰的反应

以下为2022年俄罗斯入侵乌克兰非洲国家和地区的表态立场。
阿尔及利亚

阿爾及利亞外交部（英语：）表示，正在「關注烏克蘭局勢的發展」，呼籲在烏克蘭的阿爾及利亞人遵守阿爾及利亞大使館的指示。
安哥拉

安哥拉政府（英语：）敦促衝突各方停火，並警告說，衝突除了造成人員和物質損失外，還造成了「兩國之間具有國際規模的緊張氣氛」。安哥拉外交部稱，「各方必須努力和平解決衝突」。

波札那是譴責俄羅斯入侵烏克蘭的聯合國信函的87個簽署國之一。
維德角總理烏利塞斯·科雷亞·席爾瓦在臉書上發文譴責入侵烏克蘭，呼籲通過外交管道和對話尋求解決方案。
埃及

埃及總理穆斯塔法·馬布里表示，埃及政府正在觀察這場危機，希望局勢儘快得到解決。

厄利垂亞於聯合國大會分別在戰爭爆發後和戰爭爆發一周年前夕兩次譴責俄羅斯的決議投反對票。
衣索比亞

衣索比亞駐柏林大使館敦促在烏克蘭的衣索比亞人越過邊境進入波蘭。
加彭

加彭參加美國領導的聯合聲明，此前就聯合國安理會關於俄羅斯侵略烏克蘭的決議進行了投票。

甘比亞在聯合國安理會譴責俄羅斯的決議中，共同發起了聲明。
迦納外交部（英语：）部長博奇韦（英语：）譴責俄羅斯的入侵行為。
肯亞強調其支持烏克蘭主權，呼籲保持冷靜並保護平民，為歐洲設想一個可行的安全架構，並對俄羅斯衝突升級對全球的影響表示擔憂。
肯亞駐聯合國大使馬丁·基馬尼（英语：）強烈譴責俄羅斯，認為普京拒絕外交而支持軍事力量，會使多邊主義的國際準則「瀕臨死亡」，警告俄羅斯尊重烏克蘭主權，並利用非洲的殖民歷史來強調「死亡帝國的餘燼」的危險性。
賴索托

賴索托參加美國領導的聯合聲明，此前就聯合國安理會關於俄羅斯侵略烏克蘭的決議進行了投票。
利比里亚

賴比瑞亞政府（英语：）譴責俄羅斯的入侵行動，並表示支持聯合國2014年的決議，呼籲俄羅斯給予和平對話機會，保護烏克蘭主權，不要讓無辜的烏克蘭人和其他外國居民喪命。。
利比亞

利比亞外交部（英语：）部長纳吉拉·曼古什譴責俄羅斯對烏克蘭的軍事干預，表示該行為違反了國際法，呼籲莫斯科當局「冷靜且撤退」。

馬利在聯合國大會於爆發一周年前夕要求俄羅斯撤出烏克蘭的決議投反對票。
摩洛哥

摩洛哥重申支援所有聯合國國家的領土完整。
毛里塔尼亚

毛里塔尼亚外交与合作部长伊斯梅尔·乌尔德·谢赫·艾哈迈德证实，俄罗斯入侵乌克兰后，在毛里塔尼亚驻德国大使馆的协助下，22名在乌克兰留学的毛里塔尼亚留学生已经抵达匈牙利，并正在与摩洛哥、土耳其等国的航空公司协商为留学生订购返国机票。
模里西斯

模里西斯政府（英语：）呼籲和平解決衝突，並呼籲恢復衝突各方之間的和平對話。
马拉维

馬拉威總統拉扎勒斯·查克維拉敦促俄羅斯撤軍。
纳米比亚

納米比亞呼籲聯合國和平解決這一局勢。如有必要，納米比亞政府希望能撤離烏克蘭的100名納米比亞人。
尼日尔

尼日是譴責俄羅斯入侵烏克蘭的聯合國信函的87個簽署國之一。
奈及利亞

奈及利亞外交部（英语：）發表聲明承認俄羅斯入侵烏克蘭，並稱這種情況是「令人驚訝的」，宣佈將協助奈及利亞公民從烏克蘭撤離，且為了避免譴責俄羅斯的行動，強調俄羅斯對烏克蘭的襲擊「僅限於軍事設施」。外交部長傑弗里·奧尼亞馬在被問及奈及利亞對俄羅斯入侵烏克蘭的官方立場時快速的離開，並提前結束了對TVC新聞記者的採訪。
聖多美和普林西比

聖普總統卡洛斯·維拉·諾瓦表示，該國「不贊成在烏克蘭開戰」，並希望雙方仍然可以「解決爭端」。
苏丹

蘇丹政府與波蘭和羅馬尼亞當局合作撤離在烏克蘭的蘇丹公民。
南蘇丹

南蘇丹外交部（英语：）要求歐洲國家的外交官計算在烏克蘭的南蘇丹公民人數，並稱他們「非常關注烏克蘭局勢」。
突尼西亞

突尼西亞政府呼籲其在烏克蘭的突尼西亞國民未經事先協調不得離開烏克蘭。
南非

南非國際關係與合作部（英语：）部長娜莱迪·潘多尔（英语：）發表聲明，認為所有問題都必須在聯合國安理會主持的包容性會談中得到解決，呼籲加強外交，未譴責俄羅斯或烏克蘭任何一方。。
尚比亞

在回答一名議員的問題時，尚比亞副總統塔萊·納盧曼戈（英语：）表示，贊比亞不能就衝突做出單方面表態，稱他們「不會作為任一單獨國家的支持者，而會通過支持國際社會正在開展的外交和平努力，維持其在此問題上的立場」。贊比亞還制定了撤離烏克蘭所有已知贊比亞人的計劃。
辛巴威

辛巴威政府（英语：）開始從烏克蘭陸續撤離256名國民，並建議其他國民離開烏克蘭。
天主教蒂安瓜教区

| 蒂安瓜教區  |
| --- | --- |

教会管区
 
基本
教座位置: 巴西
管轄範圍: 塞阿拉州西北部十三市
禮儀形式: 罗马礼
所屬教省: 福塔萊薩
創設時間: 1971年
主教座堂: 聖亞納主教座堂
首長職銜: 主教
教務首長
教區主教: 方濟各·沙勿略·埃爾南德斯·阿內多
統計資料
教友人數: 409,000
天主教蒂安瓜教區（拉丁語：、葡萄牙語：）是羅馬天主教在巴西的一個教區，屬福塔萊薩總教區。
1971年3月13日升為教區。包括塞阿拉州西北部十三個市，2010年有教友409,000人，佔轄區總人口91.9%。教區下轄十四個堂區，有三十名司鐸。現任教區主教為方濟各·沙勿略·埃爾南德斯·阿內多。
參考資料

↑  .   [2013-11-10]. （原始内容存档于2014-02-03）.
铍中毒

维基百科中的醫學内容，並視作專業意見。如需獲取醫療幫助或意見，请咨询专业人士。詳見。
| 铍中毒 |
| --- | --- |

铍
类型: 金屬中毒[*]
分类和外部资源
醫學專科: 急诊医学、医学毒理学（英语：）
ICD-10: T56.7
ICD-9-CM: 985.3
DiseasesDB: 1366
[编辑此条目的维基数据]
铍中毒（英語：）是铍引起的中毒，分为急性铍中毒（英语：）和慢性铍中毒（英语：）。后者主要表现为肺部病变，故又称铍肺，也有人称其为绿柱石肺，但因为这样的名称容易使人误以为慢性铍中毒只是一种尘肺（实际上慢性铍中毒的反应是全身性的），所以后来多称其为铍病。
历史

早在1881年就已有人研究铍的毒性，而1886年铍化合物的毒性作用首次得到報導。1933年报告了德国炼铍矿工中支气管炎和细支气管炎（英语：）的发病情况，这是首次在接触铍的工人中发现铍中毒。
1935年在意大利发表了有关铍肺的报告，随后，1936年在苏联也发表了有关铍肺临床症状的文章。据1973年的一份报告，美国铍中毒病例数量大有增加之势。
毒性

接触铍的酸性盐类后两周左右，皮肤会出现红色小疹，多分布于身体裸露部分。停止接触两周后此症状大多会消失，但也可能出现皮肤溃疡。铍化合物（包括磷酸氢铍、氧化铍、绿柱石等）能诱发某些动物的恶性肿瘤。有调查研究发现在涉及铍的工厂工作的工人比一般人患肺癌的概率更高，所以美國國家毒物計畫于2000年前后将铍及其化合物列为已知的人类致癌物。
中毒途径

职业性铍病中铍的摄入以呼吸道吸入为主，经消化道吸收的极少。铍及其化合物也可通过破损的皮肤侵入人体，在皮下造成局部损伤，但铍不能通过完好的皮肤进入机体。
毒理学

铍及其化合物各自的毒性大小不同，但都有高毒性。铍化合物的毒性与其分散度（英语：）密切相关，与溶解度也有一定联系。铍是唯一一种与细胞核显示强烈亲和力的有毒金属，这就是铍具有致癌性的根本原因。
症状

接触铍的酸性盐类后两周左右，皮肤会出现红色小疹，多分布于身体裸露部分。停止接触两周后此症状大多会消失，但也可能出现皮肤溃疡。铍中毒所致皮炎多为接触性皮炎，铍中毒患者贴布试验多为阳性，患者血清中丙种球蛋白增多。
诊断

要确定铍的接触史并不容易，主要原因是接触剂量与毒性效应间没有简单关系。尿中铍的排出亦无一定规律，且与疾病严重程度、接触时间长短都无关。呼吸功能检查是铍肺诊断及劳动能力鉴别的重要指标。此外，急性铍中毒还会导致胸片改变。
治疗

激素对于铍中毒有较好的疗效，其中常用的有可的松、强的松、促皮质素等。在大鼠和小鼠身上进行的试验表明，喹胺酸对致死剂量的铍中毒有较好的疗效。喹胺酸能络合血液中的铍，在急性铍中毒和慢性铍中毒时都有较好的促进铍排出的效果。金精三羧酸对铍中毒的大鼠、小鼠及猕猴也有较好的保护作用。
参考资料

化学主题
医学主题
1 2 3 4 5 6 7 8 9 10 11 12  邢国长. . 《辐射防护》. 1977, (Z2): 105—118  [2018-08-22]. （原始内容存档于2019-07-01）.
1 2 3 4 5 6 7 8 9 10  周炯亮. . 《新医学》. 1973, (8): 410—414  [2018-08-16]. （原始内容存档于2019-07-01）.
↑  江刚. . 《中国环境科学》. 2000, 20 (3): 206  [2018-08-16]. （原始内容存档于2019-07-01）.
↑  Aller, A J; 邵英杰. . 《国外医学：医学地理分册》. 1991, (3): 115—117  [2018-08-23]. （原始内容存档于2019-07-01）.  引文使用过时参数coauthors (帮助)
1 2  王文学; 王又兰. . 《中华劳动卫生职业病杂志》. 1989, (5): 304—305  [2018-08-16]. （原始内容存档于2019-07-01）.  引文使用过时参数coauthors (帮助)
↑  王文学; 王又兰、陈寿芳. . 《中华劳动卫生职业病杂志》. 1983, (1): 25—27  [2018-08-23]. （原始内容存档于2019-07-01）.  引文使用过时参数coauthors (帮助)
蘑菇的擬態日常

| 蘑菇的擬態日常 |
| --- | --- |
  單行本第一集封面


假名: 

類型: 四格漫畫、超現實喜劇
 常用譯名 : 蘑菇的擬態日常
漫画
作者: Tsukumizu
出版社: 日本 Media Factory
連載雜誌: COMIC CUNE
叢書: MFC Cune Series
連載網站: ComicWalker
連載期間: 2019年1月26日—2023年11月27日
出版期間: 2020年2月28日—2024年1月26日
冊數: 全5卷
話數: 全49话
動漫主題－電子遊戲主題－ACG專題－模板說明
《蘑菇的擬態日常》（日語：）是由日本漫畫家Tsukumizu於2019年1月26日在《COMIC CUNE》雜誌上發表，至2023年11月底連載結束的漫畫。劇情為帶有超現實喜劇風格的作品。
劇情

少女月島靜寂在就讀國一時，因為各種因素的影響下對學校產生厭惡感，之後逃學躲在家裡的壁櫥生活長達兩年時間。在要升上高一的那年裡，靜寂興起了返回學校的念頭，但當她睽違已久照著鏡子看著自己模樣時，發現到一個奇異現象，就是她的頭頂左側長出了兩根蘑菇。
返回學校後的靜寂依舊不喜歡主動與人交流，但之後遇到一位名叫山下真面目，想與靜寂交朋友的少女。隨後靜寂在與真面目相處的過程中，以及加入了只需要在地面挖洞就行的學校社團「挖洞社」（）之後，逐漸出現與她以往不一樣的生活。
發行

作品的首部單行本是在2020年2月28日發售，當時有另外請來大空直美、花守由美里、渕上舞三名聲優替作品的有聲漫畫影片配音，做為宣傳使用。
| 卷數 | Media Factory> 發售日期 | Media Factory> ISBN |
| --- | --- | --- |
| 1 | 2020年2月28日 | ISBN 978-4-04-064291-8 |
| 2 | 2021年1月27日 | ISBN 978-4-04-064967-2 |
| 3 | 2022年1月27日 | ISBN 978-4-04-682066-2 |
| 4 | 2023年1月27日 | ISBN 978-4-04-681080-9 |
| 5 | 2024年1月26日 | ISBN 978-4-04-683209-2 |
評價

日本流行文化介紹網站OTAQUEST表示這是一本讓GL題材愛好者感到甜美的漫畫，稱讚著作者Tsukumizu的藝術表現比過去更上一層，尤其在一些涉及超現實主義風格的構圖其細節與美感令人驚豔，另外提到作品裡有著許多令人玩味的設定，像是作品名稱是否就在暗示主角的遭遇其實是場虛構幻覺？以及安排讓《少女終末旅行》的角色串場，背後是否另有特別用意？
動漫消息追蹤站台Anilist認為漫畫中所展現出彷彿是在發燒狀態下腦海裡冒出的夢境、與整體上憂愁的氣氛，遠勝於絕多數其它以末日為主題作品所帶來的情緒感受，另外欣賞Tsukumizu看似粗略；但能另人感到生動的畫風。
其它像漫畫新聞網站漫畫書資源網方面，有把《蘑菇的擬態日常》列為2020年度裡應被改編成電視動畫的作品之一。
備註

1 2 3 4  第1話內容
1 2  第2話內容
1 2  第6話內容
1 2 3  第3話內容
↑  第10話內容
↑  第12話內容
↑  第20話內容
↑  第15話內容
↑  第18話內容
↑  第13話內容
↑  第5話內容
↑  第7話內容
參考資料

↑  Chapman, Paul. . Crunchyroll.   [2022-05-14]. （原始内容存档于2022-05-14） （美国英语）.
1 2 3 4  . Natalie. 2019-01-26  [2020-12-25]. （原始内容存档于2020-11-07） （日语）.
↑  . Natalie. 2023-11-27  [2023-11-27]. （原始内容存档于2023-11-27） （日语）.
↑  . My Navi. 2020-02-28  [2020-12-25]. （原始内容存档于2020-05-01） （日语）.
↑  . PR Times. 2020-02-28  [2020-12-25]. （原始内容存档于2020-02-28） （日语）.
↑  . KADOKAWA.   [2022-05-14]. （原始内容存档于2022-05-14） （日语）.
↑  . KADOKAWA.   [2022-05-14]. （原始内容存档于2022-05-14） （日语）.
↑  . KADOKAWA.   [2022-05-14]. （原始内容存档于2022-01-05） （日语）.
↑  . KADOKAWA.   [2023-02-01]. （原始内容存档于2023-01-29） （日语）.
↑  . KADOKAWA.   [2024-01-25]. （原始内容存档于2024-01-25） （日语）.
↑  Jacob Parker-Dalton. . OTAQUEST. 2020-05-01  [2020-12-25]. （原始内容存档于2020-07-16） （英语）.
↑  ABPAEAE. . Anilist.   [2020-12-25]. （原始内容存档于2021-12-20） （英语）.
↑  Matthew England. . Comic Book Resources. 2020-06-01  [2020-12-25]. （原始内容存档于2020-06-09） （英语）.
外部連結

《蘑菇的擬態日常》官方網頁 （日語）
《蘑菇的擬態日常》的X（前Twitter）（日語）
漫畫連載網站 （日語）
钩子编程

钩子编程（hooking），也称作“挂钩”，是计算机程序设计术语，指通过拦截软件模块间的函数调用、消息传递、事件传递来修改或扩展操作系统、应用程序或其他软件组件的行为的各种技术。处理被拦截的函数调用、事件、消息的代码，被称为钩子（hook）。
钩子编程有多种用途，如调试、扩展功能。例如在键盘或鼠标事件到达应用程序之前拦截这些事件；拦截应用程序或其他模块的操作系统调用以监督行为、修改功能。也广泛用于benchmarking程序，如度量3D游戏的帧率。
钩子编程也被用于恶意代码，如rootkit是各种通过假扮系统API调用输出来隐藏自身进程的可见性的工具与技术；游戏外挂是另一类例子。
方法 > 物理修改

在应用程序执行之前，物理修改可执行程序，这典型通过找到函数调用入口点，修改入口点使之在函数被执行前先执行其他的代码。另一种挂钩的方法是修改可执行程序的输入表（import table）。还有一种挂钩方法是采用包装库，使得应用程序不需修改即可调用该包装库完成其功能，而在包装库中插入钩子然后再调用原有的库。
方法 > 运行时修改

操作系统与软件可提供方法，在运行时插入事件钩子。Microsoft Windows允许插入钩子以处理或修改对话框、滚动条、菜单等的系统事件、应用程序事件；插入、删除、处理或修改键盘鼠标事件。Linux允许类似的钩子通过NetFilter以处理网络事件。
如果没有上述机制或权限，也可拦截进程的库函数调用，在函数调用开始处注入代码。这可通过修改内存中的进程的中断向量表或输入表（import table）实现。
示例代码 > 虚函数表挂钩

C++使用虚函数，因此可在运行时直接修改虚函数表的内容来挂钩。 Window上很多软件库以COM方式提供的（如DirectX）， 所以有需求拦截COM调用的COM Hook。COM里的接口是C++虚表的形式提供的，所以COM的Hook其实就是虚表（vtable）的Hook。ATL就是用接口替代的方式来调试和记录COM接口引用计数的次数
class VirtualTable {  // example class  
 public:  
 virtual void VirtualFunction01( ticket );  
};

void VirtualTable::VirtualFunction01( ticket )  {  
  printf("VirtualFunction01 called");  
}

typedef void ( __thiscall* VirtualFunction01_t )( ticket* thisptr );  
VirtualFunction01_t g_org_VirtualFunction01;

 //our detour function  
void __fastcall hk_VirtualFunction01( ticket* thisptr, int edx )  {  
  printf("Custom function called");  
  //call the original function  
  g_org_VirtualFunction01(thisptr);  
}  
int _tmain(int argc, _TCHAR* argv[])  {

 DWORD oldProtection;

 VirtualTable* myTable = new VirtualTable();  
 void** base = *(void***)myTable;

 VirtualProtect( &base[0], 4, PAGE_EXECUTE_READWRITE, &oldProtection );  
 //save the original function  
 g_org_VirtualFunction01 = (VirtualFunction01_t)base[0];  
 //overwrite  
 base[0] = &hk_VirtualFunction01;  
 VirtualProtect( &base[0], 4, oldProtection, 0 );

 //call the virtual function (now hooked) from our class instance  
 myTable->VirtualFunction01();

 return 0;  
}
示例代码 > C#键盘事件钩子

using System.Runtime.InteropServices;

namespace Hooks
{
    public class KeyHook
    {
        /* Member variables */
        protected static int Hook;
        protected static LowLevelKeyboardDelegate Delegate;
        protected static readonly object Lock = new object();
        protected static bool IsRegistered = false;

        /* DLL imports */
        [DllImport("user32")]
        private static extern int SetWindowsHookEx(int idHook, LowLevelKeyboardDelegate lpfn,
            int hmod, int dwThreadId);

        [DllImport("user32")]
        private static extern int CallNextHookEx(int hHook, int nCode, int wParam, KBDLLHOOKSTRUCT lParam);

        [DllImport("user32")]
        private static extern int UnhookWindowsHookEx(int hHook);

        /* Types & constants */
        protected delegate int LowLevelKeyboardDelegate(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);
        private const int HC_ACTION = 0;
        private const int WM_KEYDOWN = 0x0100;
        private const int WM_KEYUP = 0x0101;
        private const int WH_KEYBOARD_LL = 13;

        [StructLayout(LayoutKind.Sequential)]
        public struct KBDLLHOOKSTRUCT
        {
            public int vkCode;
            public int scanCode;
            public int flags;
            public int time;
            public int dwExtraInfo;
        }

        /* Methods */
        private static int LowLevelKeyboardHandler(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam)
        {
            if (nCode == HC_ACTION)
            {
                if (wParam == WM_KEYDOWN)
                    System.Console.Out.WriteLine("Key Down: " + lParam.vkCode);
                else if (wParam == WM_KEYUP)
                    System.Console.Out.WriteLine("Key Up: " + lParam.vkCode);
            }
            return CallNextHookEx(Hook, nCode, wParam, lParam);
        }
        
        public static bool RegisterHook()
        {
            lock (Lock)
            {
                if (IsRegistered)
                    return true;
                Delegate = LowLevelKeyboardHandler;
                Hook = SetWindowsHookEx(
                    WH_KEYBOARD_LL, Delegate,
                    Marshal.GetHINSTANCE(
                        System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0]
                    ).ToInt32(), 0
                );

                if (Hook != 0)
                    return IsRegistered = true;
                Delegate = null;
                return false;
            }
        }

        public static bool UnregisterHook()
        {
            lock (Lock)
            {
                return IsRegistered = (UnhookWindowsHookEx(Hook) != 0);
            }
        }
    }
}
示例代码 > Netfilter钩子

使用Netfilter钩子修改Linux内核的网络交通。
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/skbuff.h>

#include <linux/ip.h>
#include <linux/tcp.h>
#include <linux/in.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv4.h>

/* Port we want to drop packets on */
static const uint16_t port = 25;

/* This is the hook function itself */
static unsigned int hook_func(unsigned int hooknum,
                       struct sk_buff **pskb,
                       const struct net_device *in,
                       const struct net_device *out,
                       int (*okfn)(struct sk_buff *))
{
        struct iphdr *iph = ip_hdr(*pskb);
        struct tcphdr *tcph, tcpbuf;

        if (iph->protocol != IPPROTO_TCP)
                return NF_ACCEPT;

        tcph = skb_header_pointer(*pskb, ip_hdrlen(*pskb), sizeof(*tcph), &tcpbuf);
        if (tcph == NULL)
                return NF_ACCEPT;

        return (tcph->dest == port) ? NF_DROP : NF_ACCEPT;
}

/* Used to register our hook function */
static struct nf_hook_ops nfho = {
        .hook     = hook_func,
        .hooknum  = NF_IP_PRE_ROUTING,
        .pf       = NFPROTO_IPV4,
        .priority = NF_IP_PRI_FIRST,
};

static __init int my_init(void)
{
        return nf_register_hook(&nfho);
}

static __exit void my_exit(void)
{
    nf_unregister_hook(&nfho);
}

module_init(my_init);
module_exit(my_exit);
示例代码 > 内部IAT钩子

下例展示通过修改可执行程序的输入地址表（IAT），把钩子函数替代原函数。
#include <windows.h>

typedef int(__stdcall *pMessageBoxA) (HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType); //This is the 'type' of the MessageBoxA call.
pMessageBoxA RealMessageBoxA; //This will store a pointer to the original function.

void DetourIATptr(const char* function, void* newfunction, HMODULE module);

int __stdcall NewMessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType) { //Our fake function
    printf("The String Sent to MessageBoxA Was : %s\n", lpText);
    return RealMessageBoxA(hWnd, lpText, lpCaption, uType); //Call the real function
}

int main(int argc, CHAR *argv[]) {
   DetourIATptr("MessageBoxA",(void*)NewMessageBoxA,0); //Hook the function
   MessageBoxA(NULL, "Just A MessageBox", "Just A MessageBox", 0); //Call the function -- this will invoke our fake hook.
   return 0;
}

void **IATfind(const char *function, HMODULE module) { //Find the IAT (Import Address Table) entry specific to the given function.
	int ip = 0;
	if (module == 0)
		module = GetModuleHandle(0);
	PIMAGE_DOS_HEADER pImgDosHeaders = (PIMAGE_DOS_HEADER)module;
	PIMAGE_NT_HEADERS pImgNTHeaders = (PIMAGE_NT_HEADERS)((LPBYTE)pImgDosHeaders + pImgDosHeaders->e_lfanew);
	PIMAGE_IMPORT_DESCRIPTOR pImgImportDesc = (PIMAGE_IMPORT_DESCRIPTOR)((LPBYTE)pImgDosHeaders + pImgNTHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress);

	if (pImgDosHeaders->e_magic != IMAGE_DOS_SIGNATURE)
		printf("libPE Error : e_magic is no valid DOS signature\n");

	for (IMAGE_IMPORT_DESCRIPTOR *iid = pImgImportDesc; iid->Name != NULL; iid++) {
		for (int funcIdx = 0; *(funcIdx + (LPVOID*)(iid->FirstThunk + (SIZE_T)module)) != NULL; funcIdx++) {
			char *modFuncName = (char*)(*(funcIdx + (SIZE_T*)(iid->OriginalFirstThunk + (SIZE_T)module)) + (SIZE_T)module + 2);
			const uintptr_t nModFuncName = (uintptr_t)modFuncName;
			bool isString = !(nModFuncName & (sizeof(nModFuncName) == 4 ? 0x80000000 : 0x8000000000000000));
			if (isString) {
				if (!_stricmp(function, modFuncName))
					return funcIdx + (LPVOID*)(iid->FirstThunk + (SIZE_T)module);
			}
		}
	}
	return 0;
}

void DetourIATptr(const char *function, void *newfunction, HMODULE module) {
	void **funcptr = IATfind(function, module);
	if (*funcptr == newfunction)
		 return;

	DWORD oldrights, newrights = PAGE_READWRITE;
	//Update the protection to READWRITE
	VirtualProtect(funcptr, sizeof(LPVOID), newrights, &oldrights);

	RealMessageBoxA = (pMessageBoxA)*funcptr; //Some compilers require the cast like "MinGW" not sure about MSVC
	*funcptr = newfunction;

	//Restore the old memory protection flags.
	VirtualProtect(funcptr, sizeof(LPVOID), oldrights, &newrights);
}
示例代码 > Windows API提供的挂钩函数

SetWinEventHook：基本没有权限问题，也就是说这个API可以Hook到高权限程序的事件，同时支持进程内(WINEVENT_INCONTEXT)和进程外(WINEVENT_OUTOFCONTEXT)2种Hook方式，可以进程外的方式Hook到64位程序的事件。
SetWindowsHookEx：64位编程情形，32位DLL没法直接注入到64位的应用程序里面， 因为地址空间完全不一样。UAC打开的情况下低权限程序没法Hook高权限程序。对于64位问题，解决方法是提供2个DLL，分别可以Hook32和64位程序。对于权限问题，通过注册系统服务，由服务进程创建工作进程。因为Windows Vista开始有了Session隔离机制，服务进程运行在Session 0，用户程序运行在Session 1, Session 2等，如果直接在服务程序里干活，我们就只能在Session 0里工作。通过创建进程，可以在DuplicateTokenEx后将Token的SessionID设置成目标Session，并且在CreateProcessAsUser时指定目标WinStation和Desktop， 这样就获得了System权限，并且也可以和当前桌面进程交互。
天主教卡巴萊教區

| 天主教卡巴萊教區  |
| --- | --- |

教会管区
 

基本
教座位置: 烏干達
管轄範圍: 西部區三區
禮儀形式: 拉丁禮
所屬教省: 姆巴拉拉
創設時間: 1966年
主教座堂: 善牧主教座堂
首長職銜: 主教
教務首長
教區主教: 卡利斯都·魯巴拉米拉
統計資料
教友人數: 703,781
天主教卡巴萊教區（拉丁語：、英語：）是烏干達一個羅馬天主教教區，屬姆巴拉拉總教區。
教區成立於1966年2月1日，包括西部區西南部三區。2006年有教友703,781人（佔轄區總人口45.0%）、廿八個堂區、九十名司鐸。現任教區主教為卡利斯都·魯巴拉米拉。
參考

↑  .   [2014-02-15]. （原始内容存档于2014-02-21）.
|  论 编烏干達天主教教區 |
| --- | --- |
古盧總教區: 阿魯阿教區 | 利拉教區 | 內比教區
坎帕拉總教區: 卡薩納-盧韋羅教區 | 基因達-米蒂亞納教區 | 盧加齊教區 | 馬薩卡教區
姆巴拉拉總教區: 波特爾堡教區 | 霍伊馬教區 | 卡巴萊教區 | 卡塞塞教區
托羅羅總教區: 金賈教區 | 科蒂多教區 | 莫羅托教區 | 索羅蒂教區
聖座直轄: 烏干達軍中教長區
參見：烏干達天主教 · 烏干達天主教教區列表 · 非洲天主教教區列表
澳大利亞勳章

| 澳大利亞勳章 |
| --- | --- |
澳大利亞勳章的爵級/女爵級勳章樣式
由澳大利亞君主授予
類型: 勳章
创立: 1975年2月14日
資格: 在世澳洲公民
頒予: 對澳大利亞或人類有突出成就或卓越貢獻
狀態: 當前使用
等級: 爵級勛位（AK/AD） 同伴勛位（AC） 官佐勛位（AO） 員佐勛位（AM） 澳洲獎章（OAM）
统计
首次授勋: 1975年4月21日
合計授勋: 爵級勳章：15人 女爵級勳章：4人 同伴勳章：597人 官佐勳章：3,274人 員佐勳章：11,472人 獎章：26,454人
澳大利亞勳章（英語：）是由澳大利亞女王伊莉莎白二世因應澳大利亚政府的建議，于1975年2月14日創建，旨在表彰澳洲公民及其他人士的突出成就或卓越貢獻。在澳大利亞勳章建立之前，澳大利亞公民的表彰是授予英國對應勛位。
勳章分為民事和軍事組別，並有以下由高至低的勳銜：
爵級勳章或女爵級勳章（AK或AD——只限民事組別——1986年起停止頒授，2014年勛位復頒，2015年再次停止頒授）；
澳大利亞同伴勳章（AC）；
澳大利亞官佐勳章（AO）；
澳大利亞員佐勳章（AM）；以及
澳大利亞勳位獎章（OAM）
註釋和參考

↑  譯名根據：It's an Honour - Order of Australia （页面存档备份，存于）
↑  1976年設立，1986年撤銷；到2014年恢復頒授，2015年二次廢除；已獲此勛位之人士不受影響。在1986年撤銷前的最後一次頒授是在1983年，最後一名女爵級勛位者於1993年身故，目前只有一位1986年之前頒授的爵級勛位持有人在世：威爾斯親王查爾斯王子（1948年出生，澳洲王儲）。2014-2015年之间册封的爵級勛位持有人则有五位（共3名AK和2名AD）。
↑  1976年設立。
古代剧场 (阿尔勒)

古代劇場
古代剧场大門
阿尔勒的维纳斯
古代剧场（Théâtre antique）是法国南部城市阿尔勒的一座古罗马劇場，兴建于公元前1世纪末，罗马皇帝奥古斯都统治时期，罗马高盧殖民地建立之后不久。它始建于公元前40年到30年之间，完成于公元前12年左右，是罗马世界较早建造的石砌剧场之一。该剧院是罗马道路网decumanus（英语：）的一部分。
1840年，古代剧场被列为法国文化古迹。
古代（antique）一詞，一般而言，用來形容具有古希臘或古羅馬時期的特徵或受其影響的風格。特別指古典藝術方面，古代雕塑人物的再現和古藝術裝飾風格的運用，用來作為其他歷史時期完美的典範。
馬什米爾 (加利福尼亞州)

| 馬什米爾 |
| --- | --- |
非建制地區
馬什米爾馬什米爾在加利福尼亞州的位置
坐标：39°26′40″N 120°42′13″W﻿ / ﻿39.44444°N 120.70361°W﻿ / 39.44444; -120.70361
國家: 美国
州份: 加利福尼亞州
縣: 內華達縣
海拔: 1,781 公尺（5,843 英尺）
时区: 太平洋時區（UTC-8）
 • 夏时制: PDT（UTC-7）
電話區號: 530
地名信息系统ID: 1659068
馬什米爾（英語：）是位於美國加利福尼亞州內華達縣的一個非建制地區。該地的面積和人口皆未知。
地理

馬什米爾的座標為39°26′40″N 120°42′13″W﻿ / ﻿39.44444°N 120.70361°W﻿ / 39.44444; -120.70361，而該地的平均海拔高度為1781米（即5843英尺）。
參考文獻

1 2  . . United States Geological Survey.
|  论 编內華達縣行政區劃 |
| --- | --- | --- |
：內華達城
| 市鎮 |  格拉斯瓦利  內華達城  特拉基  |  |
| 普查規定居民點 |  阿爾塔西埃拉  弗羅里斯頓  格蘭奈特維爾  金瓦爾‡  派恩湖  懷爾德伍德湖  北聖胡安  彭谷  拉夫安德雷迪  蘇打斯普林斯  華盛頓  |  |
| 非建制地區 |  阿爾塔山  比特尼角  卡彭達谷  卡西角  塞達嶺  芝加哥公園  科爾曼  琉璃湖  露滴  弗蘭奇科勒爾  諾爾斯森林  加斯頓  蓋特韋  戈爾德弗拉特  希金斯  希爾斯弗拉特  欣頓  赫希代爾  章克申屋  克雷斯  萊克城  馬什米爾  穆尼弗拉特  米斯蒂克  紐敦  諾登  北布盧姆菲爾德  北哥倫比亞  皮爾代爾  派恩克雷斯特  波拉里斯  雷利夫  斯科茨弗拉特  塞瓦斯托波爾  斯普林斯  橡樹  鎮談  猶尼昂米爾斯  威洛谷  沃爾森  尤貝特  尤巴山口  |  |
| 鬼鎮 |  阿爾法（英语：）  獾山（英语：）  巴拉克拉瓦（英语：）  白頭鷹（英语：）  巴爾的摩鎮（英语：）  熊河松（英语：）  熊谷（英语：）  貝克曼斯弗拉特（英语：）  伯奇維爾（英语：）  藍帳篷（英语：）  博卡（英语：）  波士頓峽谷（英语：）  黃銅線棒（英语：）  布里奇波特（英语：）  布萊頓之家（英语：）  野馬（英语：）  布尤納維斯塔（英语：）  伯克哈爾特（英语：）  伯克斯酒吧（英语：）  斯波爾丁營（英语：）  喀斯喀特迪金斯（英语：）  塞達克雷斯（英语：）  喬爾克崖（英语：）  錢皮昂（英语：）  切羅基（英语：）  科約特維爾（英语：）  水晶泉（英语：）  民主（英语：）  鑽石溪（英语：）  迪格斯吧（英语：）  迪龍（英语：）  德拉姆（英语：）  鷹鳥（英语：）  依利達（英语：）  尤里卡（英语：）  法拉德（英语：）  弗利（英语：）  洪水（英语：）  森林之泉（英语：）  法國湖（英语：）  法國人的酒吧（英语：）  蓋拉特（英语：）  格倫布魯克（英语：）  金山（英语：）  哈克特維爾（英语：）  霍巴特米爾斯（英语：）  亨特的山（英语：）  冰島（英语：）  印第安斯普林斯（英语：）  傑里科（英语：）  瓊斯吧（英语：）  肯塔基弗拉特（英语：）  拉巴草甸（英语：）  拉斐特山（英语：）  朗斯（英语：）  小約克（英语：）  路易莎（英语：）  洛厄爾山（英语：）  馬拉科夫（英语：）  梅伯特（英语：）  草甸湖（英语：）  梅爾伯恩山（英语：）  密蘇里弗拉特（英语：）  穆爾斯弗拉特（英语：）  芒特錫安（英语：）  芒廷韋爾（英语：）  芒廷維尤（英语：）  內格羅弗拉特（英语：）  歐姆（英语：）  歐米茄（英语：）  奧爾良弗拉特（英语：）  匹茲堡（英语：）  普萊森特弗拉特（英语：）  普羅瑟（英语：）  普羅瑟溪（英语：）  普羅維登斯（英语：）  倫道夫之家（英语：）  瑞斯弗拉特（英语：）  紅鑽石（英语：）  紅狗（英语：）  雷明頓希爾（英语：）  羅斯的畜欄（英语：）  尚茲（英语：）  謝爾比弗拉特（英语：）  謝爾巴克（英语：）  六英里之家（英语：）  雪點（英语：）  雪帳篷（英语：）  斯彭斯維爾（英语：）  斯皮里茨維爾（英语：）  斯托金斯弗拉特（英语：）  日落美景（英语：）  斯威特蘭（英语：）  策坎坎（英语：）  猶尼昂山（英语：）  尤斯托馬（英语：）  弗吉尼亞之家（英语：）  沃洛帕（英语：）  白雲（英语：）  威克斯（英语：）  威爾遜維爾（英语：）  沃科多特（英语：）  伍爾西弗拉特（英语：）  亞馬科（英语：）  鋅屋（英语：）  |  |
| 備註 |  ‡該聚居地有部分隸屬其他縣份  |  |
上海外滩茂悦大酒店

酒店大楼
上海外滩茂悦大酒店是位於中華人民共和國上海市虹口区北外灘黃浦路的一家酒店。該酒店地處黃浦江以及外白渡桥旁邊。该酒店共计32层，地下3层。酒店为120米高双子塔结构，分为东、西两楼。酒店共有631间房间，包括48间套房。80%的客房可以看到黃浦江。上海外滩茂悦大酒店由世茂集团投资建造，是凯悦酒店集团旗下君悦（GrandH yatt）品牌。
歷史

酒店于2007年11月开业。該酒店毛利潤率曾經達40%以上。受到2019冠狀病毒病疫情的影響，收入下滑。2020年的收入不如2019年的一半。2020年、2021年酒店出現虧損。2022年1月28日，世茂集团通過45亿元人民幣將該酒店出售予上海地产。
參考資料

↑  . 觀點網.
↑  . 澎湃新闻.   [2022-08-15]. （原始内容存档于2022-08-15）.
1 2  . 新京報.   [2022-08-15]. （原始内容存档于2022-08-15）.
↑  . 每日经济新闻.   [2022-08-15]. （原始内容存档于2022-08-15）.
↑  凯悦酒店集团编,世界上最美的酒店,辽宁科学技术出版社,2012.12,第274页
↑  . 界面新聞.   [2022-08-15]. （原始内容存档于2022-08-15）.
萧塘站

萧塘站站房
萧塘站位于上海奉贤区西渡街道沪杭公路大叶公路，为上海轨道交通5号线的一个高架侧式车站。
該站名稱來源於古代有蕭姓聚居在此，但附近地名則因第二次漢字簡化而普遍使用「肖塘」，站名仍沿用古代用法。
楼层分布

| 0 | 1 | 2 | 3 | 4 |
| --- | --- | --- | --- | --- |
地上三层: 侧式站台，右侧开门
|  | ①站台 |  █ 5号线 往莘庄（西渡） |  |  |
|  | ②站台 |  █ 5号线 往奉贤新城（奉浦大道） |  |  |
: 侧式站台，右侧开门
| 地上二层 | 站厅 | 票务服务、自动售票机、人工服务台 |  |  |
| 地面层 | 出入口 | 1-2出入口 |  |  |
車站出口

| 0 | 1 | 2 | 3 |
| --- | --- | --- | --- |

| 出口编号 | 建议前往目的地 | 照片 |  |
|  | 沪杭公路 |  |  |
|  | 沪杭公路 |   |  |
接驳公交

| 沪杭公路大叶公路> 编号 | 沪杭公路大叶公路> 路线 | 沪杭公路大叶公路> 路线 | 沪杭公路大叶公路> 路线 | 沪杭公路大叶公路> 备注 |
| --- | --- | --- | --- | --- |
| 奉贤7路 | 南桥汽车站 | ⇆ | 公交西渡站 | 原南桥7路 |
| 虹桥枢纽5路 | 南桥汽车站 | ⇆ | 虹桥西交通中心 | 经由闵浦二桥过黄浦江 |
| 上奉专线 | 南桥汽车站 | ⇆ | 上海南站(南广场) | 经由虹梅南路隧道过黄浦江 |
| 大叶公路沪杭公路> 编号 | 大叶公路沪杭公路> 路线 | 大叶公路沪杭公路> 路线 | 大叶公路沪杭公路> 路线 | 大叶公路沪杭公路> 备注 |
| --- | --- | --- | --- | --- |
| 882 | 南桥汽车站 | ⇆ | 叶榭站 | 原南叶线 |
| 奉贤27路 | 公交西渡站 | ⇆ | 新叶村活动中心 | 原西庄线 |
参考资料

↑  . hot.online.sh.cn.   [2019-07-15]. （原始内容存档于2020-08-03）.
美国宪法第二十五修正案

《美利坚合众国宪法》第二十五修正案（英語：）簡稱「第二十五修正案」（），对美国总统和副总统职位因各种原因出现空缺时的继任程序作出了修正和规定，并增加了由副总统和内阁成员判断总统是否能够继续履行职责的新条款。宪法第二条第一款第六节中所规定的继任程序遣词并不明确，其中没有说明“如遇总统被免职、死亡、辞职或丧失履行总统权力和责任的能力时”，副总统究竟应该成为新任总统还是代理总统，亦未规定若副总统“被免职、死亡、辞职或丧失履行时”，副总统权力和责任的能力时又该如何處理，第二十五修正案对这两方面问题都作出了明确的回答。修正案于1965年7月6日由联邦国会提出，1967年2月10日获得了足够数量州的批准而生效。
修正案文本

第一款　如遇总统被免职、死亡或辞职，副总统应成为总统。
第二款　凡当副总统职位出缺时，总统应提名一名副总统，经国会两院都以过半数票批准后就职。
第三款　凡当总统向参议院临时议长和众议院议长提交书面声明，声称他不能够履行其职务的权力和责任，直到他向他们提交一份相反的声明为止，其权力和责任应由副总统代理总统履行。
第四款 凡当副总统和行政各部长官或国会以法律设立的其他机构成员的多数，向参议院临时议长和众议院议长提交书面声明，声称总统不能够履行总统职务的权力和责任时，副总统应立即作为代理总统承担总统职务的权力和责任。
此后，当总统向参议院临时议长和众议院议长提交书面声明，声称丧失能力的情况不存在时，他应恢复总统职务的权力和责任，除非副总统和行政各部长官的多数或国会以法律设立的其他机构成员的多数在四天之内向参议院临时议长和众议院议长提交书面声明，声称总统不能够履行总统职务的权力和责任。在此种情况下，国会应决定这一问题，如在休会期间，应为此目的在四十八小时以内集会。如国会在收到后一书面声明后的二十一天以内，或如适逢休会期间，则在国会按照要求集会以后的二十一天以内，以两院的三分之二的票数决定总统不能够履行总统职务的权力和责任，副总统应继续作为代理总统履行总统职务的权力和责任；否则总统应恢复总统职务的权力和责任。
背景

参见：美利坚合众国宪法第二条
第二十五修正案通过前，美利坚合众国宪法第二条第一款第6节中对总统的继任程序有如下规定：
如遇总统被免职、死亡、辞职或丧失履行总统权力和责任的能力时，总统职务应移交副总统。国会得以法律规定在总统和副总统两人被免职、死亡、辞职或丧失任职能力时，宣布应代理总统的官员。该官员应代理总统直到总统恢复任职能力或新总统选出为止。
这样的条款对于总统继任问题规定得并不够明确，其中没有说明谁有权宣布总统“不能够履行总统职务的权力和责任”。并且也没有规定如果副总统一职出现空缺，那么在下一次总统选举前应该如何填补这一空缺。在第二十五修正案通过前，这一含糊不清的规定造成了多次不便和僵局：
1841年4月4日，威廉·亨利·哈里森在任内去世。众议员约翰·威廉斯（John Williams）之前曾建议如果总统逝世，副总统应代理总统。而副总统约翰·泰勒则断言自己不只是以“代理总统”身分获得相应的职权，而是已经继任成为新的总统。他也拒绝承认文献中以“代理总统”来称呼自己。虽然有部分人表示强烈反对，泰勒还是进行了正式宣誓而成为第十任美国总统。泰勒的说法之后没有受到正式的挑战，因此这样一个副总统继任成为新总统的先例也就这样建立了起来，之后被称为“泰勒先例”。
历史上曾有过多次总统丧失行为能力的情况，如1919年10月2日，伍德罗·威尔逊就曾因中风而卧床数周之久，这期间一直没有任何人正式接替其职权。
副总统一职先后有16次因去世、辞职或是继任总统而出现空缺，一直到下一次总统选举时才加以填补。比如1945年4月12日富兰克林·德拉诺·罗斯福逝世后副总统哈里·S·杜鲁门继任，之后近4年都没有副总统。
所有这些事件都表明有必要建立一个更为明确的指引，为此联邦国会之后提出了两个提案。