国产精品久久久久久久久久久久久久_国产肉体ⅹxxx137大胆_国产精品mv_国产日韩中文字幕_国产福利一区二区三区在线视频_中文字幕www_久草最新_日韩av第一页在线播放_青青草在线视频网站_少妇淫片aaaaa毛片叫床爽_成人精品在线视频_超碰97免费观看_毛片一级视频_他掀开裙子把舌头伸进去添视频_天堂一区二区三区在线_黑人日比视频_一区在线看_一区日本_亚洲中文字幕无码中文字_国产一级视频免费看

擁有PHP標(biāo)簽的文章
工作經(jīng)驗(yàn)

緩存技術(shù)相關(guān)

redis-server.exe 服務(wù)器啟動(dòng)命令 redis-cli.exe 命令行客戶端 redis.windows.conf redis核心配置文件 redis-benchmark.exe 性能測(cè)試工具 redis-check-aof.exe AOF文件修復(fù)工具 redis-check-dump.exe RDB文件檢查工具(快照持久化文件)

張軍 2023-12-08 14:12:00 4105

工作經(jīng)驗(yàn)

針對(duì)PHP的網(wǎng)站主要總結(jié)下面幾種攻擊方式

防范方法 1、盡量不要執(zhí)行外部命令 2、使用自定義函數(shù)或函數(shù)庫(kù)來(lái)替代外部命令的功能 3、使用escapeshellarg函數(shù)來(lái)處理命令參數(shù) 4、使用safe_mode_exec_dir指定可執(zhí)行文件的路徑 esacpeshellarg函數(shù)會(huì)將任何引起參數(shù)或命令結(jié)束的字符轉(zhuǎn)義,單引號(hào)“'”,替換成“\'”,雙引號(hào)“"”,替換成“\"”,分號(hào)“;”替換成“\;” 用safe_mode_exec_dir指定可執(zhí)行文件的路徑,可以把會(huì)使用的命令提前放入此路徑內(nèi)

張軍 2021-10-09 10:01:35 3776

PHP

win7下的PHP+IIS配置,找不到php5isapi.dll的問

原文:win7下的PHP+IIS配置,找不到php5isapi.dll的問題,版本5.4.9問題:PHP新手配置,在官網(wǎng)上下載的壓縮包。按網(wǎng)上的找的教程配置IIS時(shí)發(fā)現(xiàn),在解壓包里找不到php5isapi.dll文件,沒辦法添加腳本映射。解答:從PHP5.3版本開始,在PHP文件里面沒有php5isapi.dll了,不能在IIS6上面通過ISAPI擴(kuò)展運(yùn)行。就是說PHP5.3以后的版本不再支持用ISAPI進(jìn)行擴(kuò)展在IIS里運(yùn)行了,應(yīng)該用FastCGI方法配

系統(tǒng) 2019-08-12 01:33:23 4632

PHP

超好用的 php.js (php_js)

php.jsphp.jsisanopensourceprojectthatbringshigh-levelPHPfunctionstolow-levelJavaScriptplatformssuchaswebbrowsers,browserextensions(Mozilla/Firefox,Chrome),AIR,andSSJSengineslikeV8(node.js,v8cgi),Rhino,andSpiderMonkey(CouchDB)Ifyou

系統(tǒng) 2019-08-29 22:41:11 4631

PHP

Provides PHP completions for Sublime Text

來(lái)源:https://packagecontrol.io/packages/PHP%20Completions%20Kitphp-completionsphp-completionspluginforSublimeText.ProvidesdecentPHPcompletions.OverviewFeaturesKeyBindingsInstallationContributingChangelogComplementaryPluginsLicenseFe

系統(tǒng) 2019-08-12 09:27:05 4609

PHP

[轉(zhuǎn)]榨干 PHP,不得不轉(zhuǎn)的一篇PHP使用技巧!

來(lái)源:http://www.phpchina.com/bbs/thread-13409-1-1.html這篇雜文翻譯整理自網(wǎng)絡(luò)各路文檔資料(見最末的參考資料),尤其是IliaAlshanetsky(佩服之至)在多個(gè)PHP會(huì)議上的演講,主要是各類提高PHP性能的技巧。為求精準(zhǔn),很多部分都有詳細(xì)的效率數(shù)據(jù),以及對(duì)應(yīng)的版本等等。偷懶,數(shù)據(jù)就不一一給出了,直接給結(jié)論,如果需要看原文檔,請(qǐng)到文末「參考資料」部分。橙色標(biāo)題為推薦部分。=================

系統(tǒng) 2019-08-29 23:08:06 4511

PHP

配置Editplus調(diào)試PHP程序入門教程

之前我介紹了PHP開發(fā)工具zendstudio7入門使用教程,zendstudio的使用其實(shí)蠻耗費(fèi)內(nèi)存的,針對(duì)PHP入門學(xué)習(xí)者,今天和大家分享如何配置Editplus來(lái)調(diào)試PHP程序,Editplus配置好后進(jìn)行PHP網(wǎng)站開發(fā)其實(shí)并不比zendstudio遜色,Editplus提供很多用戶工具(插件),比如PHP自動(dòng)完成、PHP函數(shù)自動(dòng)提醒與補(bǔ)全等,這些都對(duì)配置Editplus調(diào)試PHP程序帶來(lái)了方便,下面我就以PHP教程形式介紹Editplus的配置步驟

系統(tǒng) 2019-08-12 01:31:48 4456

PHP

PHP擴(kuò)展之hello word

一、下載源碼。先到官網(wǎng)下載PHP的源代碼,這里我用的是PHP5.3.5打開我們可以看到ext這個(gè)目錄這目錄是放所有的擴(kuò)展的。在改目錄下我們可以看到ext_skel的腳本下面我就用這個(gè)命令來(lái)生成擴(kuò)展的基本架構(gòu)。二、創(chuàng)建基本框架./ext_skel--extname=example這個(gè)命令會(huì)在ext目錄下生成一個(gè)example目錄,改目錄下有以下文件#在目錄下有不少文件,testmodule.c和config.m4是最重要的example.c#是我們擴(kuò)展的主要

系統(tǒng) 2019-08-12 09:27:43 4442

PHP

使用Mason和PHP生成飯否圖片插件

飯否的圖片插件可用于論壇,博客,將用戶的信息和一些最新動(dòng)態(tài)用圖片的形式表現(xiàn)出來(lái)。我們?nèi)绻枰孕虚_發(fā)此功能的話,需要設(shè)置某種格式(或某個(gè)地址)的圖片采用腳本來(lái)處理。在Perl中的話例如可以使用Apache的LocationMatch或者FilesMatch指令來(lái)進(jìn)行設(shè)置,讓某個(gè)Perl模塊來(lái)進(jìn)行處理。如果使用Mason的話,更為簡(jiǎn)單,不需要修改服務(wù)器,只需利用dhandler的特性,就可以讓指定的腳本來(lái)處理。基本流程如下:主要代碼如下:my$uri=$r-

系統(tǒng) 2019-08-29 22:49:43 4375

PHP

php memcache總結(jié)

1.簡(jiǎn)介memcache模塊是一個(gè)高效的守護(hù)進(jìn)程,提供用于內(nèi)存緩存的過程式程序和面向?qū)ο蟮姆奖愕慕涌冢貏e是對(duì)于設(shè)計(jì)動(dòng)態(tài)web程序時(shí)減少對(duì)數(shù)據(jù)庫(kù)的訪問。memcache也提供用于通信對(duì)話(session_handler)的處理。更多Memcache模塊相關(guān)信息可以到http://www.danga.com/memcached/查閱。1.1.memcache在php.ini中的配置項(xiàng)列表memcache在php.ini中的配置項(xiàng)列表名稱默認(rèn)值是否可變改變?nèi)罩?/span>

系統(tǒng) 2019-08-12 09:26:49 4373

PHP

帶著項(xiàng)目學(xué)PHP第九講 - 如何給ecshop的wap版本

ecshop的wap版本自身不帶圖片,所以看起來(lái)光禿禿的,非常不討人喜歡,網(wǎng)絡(luò)上關(guān)于wap的模板就不像pc版那么多,容易找到,而且能找到的都是要花錢買的,雖然這個(gè)小小的改動(dòng)不能替代找個(gè)合適的模板,但是添加上以后確實(shí)還是能更舒心些,上圖。1.修改前,首頁(yè)和商品頁(yè)上,都不帶圖片,如下圖:代碼如何修改:修改后圖片:帶著項(xiàng)目學(xué)PHP第九講-如何給ecshop的wap版本首頁(yè)和商品頁(yè)添加商品圖片

系統(tǒng) 2019-08-12 01:33:19 4336

PHP

【置頂】PHPCup.cn論壇在9月21日重新開放!

【置頂】PHPCup.cn論壇在9月21日重新開放!PHPCup從2008年6月21日關(guān)閉以來(lái),到現(xiàn)在一共關(guān)閉了三個(gè)月,非常感謝三個(gè)月以來(lái)所有關(guān)心和支持PHPCup.cn論壇發(fā)展的朋友們!現(xiàn)在通過調(diào)整,清除了所有的廣告帖,并且打開了驗(yàn)證碼功能。。。希望PHPCup論壇在未來(lái)能夠更受到大家的歡迎,成為大家交流技術(shù),分享技術(shù)的小天地!歡迎大家來(lái)訪問PHPCup論壇:http://www.PHPCup.cn謝謝大家!heiyeluren(黑夜路人)2008-9-

系統(tǒng) 2019-08-29 23:39:49 4322

PHP

Sublime_text3怎么發(fā)現(xiàn)PHP語(yǔ)法錯(cuò)誤?

昨晚因?yàn)閜hp的某個(gè)變量代碼寫錯(cuò)了,sublime又沒有提示語(yǔ)法錯(cuò)誤。弄了許久,一段段的調(diào)試,最后才知道是取到的變量是空的sublime可以提示php語(yǔ)法錯(cuò)誤在sublime寫完了php代碼后,如果寫錯(cuò)了不像eclipse即時(shí)提示語(yǔ)法錯(cuò)誤。但是呢,按快捷鍵ctrl+B時(shí),在執(zhí)行過程中,如果有什么錯(cuò)誤,就會(huì)顯示出來(lái)。不是即時(shí)提示也挺喜歡的,不會(huì)為了修改錯(cuò)誤打斷思路。截圖:ctrl+BSublime_text3怎么發(fā)現(xiàn)PHP語(yǔ)法錯(cuò)誤?

系統(tǒng) 2019-08-12 01:32:04 4284

PHP

hessian 在PHP中的使用介紹

一、hessian是什么?看到這個(gè)單詞我還不知道怎么讀,音標(biāo)是[hes]讀黑森。Hessian是一個(gè)輕量級(jí)的遠(yuǎn)程的數(shù)據(jù)交換工具,使用簡(jiǎn)單的方法提供了RMI(遠(yuǎn)程方法調(diào)用)的功能.相比WebService,Hessian更簡(jiǎn)單、快捷。采用的是二進(jìn)制RPC協(xié)議,因?yàn)椴捎玫氖嵌M(jìn)制協(xié)議,所以它很適合于發(fā)送二進(jìn)制數(shù)據(jù)hessian是獨(dú)立于語(yǔ)言的。二、在PHP中怎么用的呢?你是不是認(rèn)為這個(gè)和soap一樣在php.ini中開啟一個(gè)就可以使用了,我也這么認(rèn)為的。可是我要

系統(tǒng) 2019-08-12 09:26:46 4283

主站蜘蛛池模板: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |