日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入浅出FlatBuffers原理

發布時間:2024/8/23 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入浅出FlatBuffers原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:?FlatBuffers 是一個開源的、跨平臺的、高效的、提供了多種語言接口的序列化工具庫。實現了與 Protocal Buffers 類似的序列化格式。主要由 Wouter van Oortmerssen 編寫,并由 Google 開源。本文將基于高德地圖數據編譯增量發布使用了FlatBuffers序列化工具,為大家分享FlatBuffers的原理。

作者 | 大向
來源 | 阿里技術公眾號

一 前言

FlatBuffers 是一個開源的、跨平臺的、高效的、提供了多種語言接口的序列化工具庫。實現了與 Protocal Buffers 類似的序列化格式。主要由 Wouter van Oortmerssen 編寫,并由 Google 開源。Oortmerssen 最初為 Android 游戲和注重性能的應用而開發了 FlatBuffers,現在它具有 C ++、C#、C、Go、Java、PHP、Python 和 JavaScript 的接口。

高德地圖數據編譯增量發布使用了FlatBuffers序列化工具,借此契機對FlatBuffers原理進行研究并分享于此。本文簡單介紹 FlatBuffers Scheme,通過剖析 FlatBuffers 序列化與反序列化原理,重點回答以下問題:

  • 問題1:FlatBuffers 如何做到反序列化速度極快的(或者說無需解碼)。
  • 問題2:FlatBuffers 如何做到默認值不占存儲空間的(Table 結構內的變量)。
  • 問題3:FlatBuffers 如何做到字節對齊的。
  • 問題4:FlatBuffers 如何做到向前向后兼容的(Struct 結構除外)。
  • 問題5:FlatBuffers 在 add 字段時有沒有順序要求(Table 結構)。
  • 問題6:FlatBuffers 如何根據 Scheme 自動生成編解碼器。
  • 問題7:FlatBuffers 如何根據 Scheme 自動生成 Json。

二 FlatBuffers Scheme

FlatBuffers 通過 Scheme 文件定義數據結構,Schema 定義與其他框架使用的IDL(Interface description language)語言類似簡單易懂,FlatBuffers 的 Scheme 是一種類 C 的語言(盡管 FlatBuffers 有自己的接口定義語言 Scheme 來定義要與之序列化的數據,但它也支持 Protocol Buffers 中的 .proto 格式)。下面以官方 Tutorial 中的 monster.fbs 為例進行說明:

// Example IDL file for our monster's schema. namespace MyGame.Sample; enum Color:byte { Red = 0, Green, Blue = 2 } union Equipment { Weapon } // Optionally add more tables. struct Vec3 {x:float;y:float;z:float; } table Monster {pos:Vec3;mana:short = 150;hp:short = 100;name:string;friendly:bool = false (deprecated);inventory:[ubyte];color:Color = Blue;weapons:[Weapon];equipped:Equipment;path:[Vec3]; } table Weapon {name:string;damage:short; } root_type Monster;

namespace MyGame.Sample;

namespace 定義命名空間,可以定義嵌套的命名空間,用 . 分割。

enum Color:byte { Red = 0, Green, Blue = 2 };

enum 定義枚舉類型。和常規的枚舉類稍有不同的地方是可以定義類型。比如這里的 Color 是 byte 類型。enum 字段只能新增,不能廢棄。

union Equipment {Weapon} // Optionally add more tables

union 類似 C/C++ 中的概念,一個 union 中可以放置多種類型,共同使用一個內存區域。這里的使用是互斥的,即這塊內存區域只能由其中一種類型使用。相對 struct 來說比較節省內存。union 跟 enum 比較類似,但是 union 包含的是 table,enum 包含的是 scalar 或者 struct。union 也只能作為 table 的一部分,不能作 root type。

struct Vect3{ x : float; y : float; z : float;};

struct 所有字段都是必填的,因此沒有默認值。字段也不能添加或者廢棄,且只能包含標量或者其他 struct。struct 主要用于數據結構不會發生改變的場景,相對 table 使用更少的內存,lookup 的時候速度更快(struct 保存在父 table 中,不需要使用 vtable)。

table Monster{};

table 是在 FlatBuffers 中定義對象的主要方式,由一個名稱(這里是 Monster)和一個字段列表組成。可以包含上面定義的所有類型。每個字段(Field)包括名稱、類型和默認值三部分;每個字段都有默認值,如果沒有明確寫出則默認為 0 或者 null。每個字段都不是必須的,可以為每個對象選擇要省略的字段,這是 FlatBuffers 向前和向后兼容的機制。

root_type Monster;

用于指定序列化后的數據的 root table。

Scheme 設計需要特別注意的:

  • 新字段只能加在 table 的后面。舊代碼會忽略這個字段,仍然可以正常執行。新代碼讀取舊的數據,會取到新增字段的默認值。
  • 即使字段不再使用了也不能從 Scheme 中刪除。可以標記為 deprecated,在生成代碼的時候不會生成該字段的訪問器。
  • 如果需要嵌套的 vector,可以將 vector 包裝在 table 中。string 對于其他編碼可以使用 [byte] 或者 [ubyte] 支持。

三 FlatBuffers 的序列化

簡單來說 FlatBuffers 就是把對象數據,保存在一個一維的數組中,將數據都緩存在一個 ByteBuffer 中,每個對象在數組中被分為兩部分。元數據部分:負責存放索引。真實數據部分:存放實際的值。然而 FlatBuffers 與大多數內存中的數據結構不同,它使用嚴格的對齊規則和字節順序來確保 buffer 是跨平臺的。此外,對于 table 對象,FlatBuffers 提供前向/后向兼容性和 optional 字段,以支持大多數格式的演變。除了解析效率以外,二進制格式還帶來了另一個優勢,數據的二進制表示通常更具有效率。我們可以使用 4 字節的 UInt 而不是 10 個字符來存儲 10 位數字的整數。

FlatBuffers 對序列化基本使用原則:

  • 小端模式。FlatBuffers 對各種基本數據的存儲都是按照小端模式來進行的,因為這種模式目前和大部分處理器的存儲模式是一致的,可以加快數據讀寫的數據。
  • 寫入數據方向和讀取數據方向不同。

FlatBuffers 向 ByteBuffer 中寫入數據的順序是從 ByteBuffer 的尾部向頭部填充,由于這種增長方向和 ByteBuffer 默認的增長方向不同,因此 FlatBuffers 在向 ByteBuffer 中寫入數據的時候就不能依賴 ByteBuffer 的 position 來標記有效數據位置,而是自己維護了一個 space 變量來指明有效數據的位置,在分析 FlatBuffersBuilder 的時候要特別注意這個變量的增長特點。但是,和數據的寫入方向不同的是,FlatBuffers 從 ByteBuffer 中解析數據的時候又是按照 ByteBuffer 正常的順序來進行的。FlatBuffers 這樣組織數據存儲的好處是,在從左到右解析數據的時候,能夠保證最先讀取到的就是整個 ByteBuffer 的概要信息(例如 Table 類型的 vtable 字段),方便解析。

對于每種數據類型的序列化:

1 標量類型

標量類型即基本類型,如:int,double,bool等,標量類型使用直接尋址進行數據訪問。

示例:short mana = 150; 12個字節,存儲結構如下:

schema 中定義標量可以設置默認值。文章最初提到 FlatBuffers 的默認值不占存儲空間的,對于 table 內部的標量,是可以做到默認值不存儲的,如果變量的值不需要改變,該字段在 vtable 中對應的 offset 的值設置為 0 即可,默認值被記錄在解碼接口內,解碼時獲取該字段的 offset 為 0 時,解碼接口則返回默認值。對于 struct 結構因為沒有使用 vtable 結構,因此內部的標量沒有默認值,必須存儲(struct 類型和 table 類型的序列化原理在下文會詳細說明)。

// Computes how many bytes you'd have to pad to be able to write an // "scalar_size" scalar if the buffer had grown to "buf_size" (downwards in // memory). inline size_t PaddingBytes(size_t buf_size, size_t scalar_size) {return ((~buf_size) + 1) & (scalar_size - 1); }

標量數據類型是按其本身字節數大小進行對齊。通過 PaddingBytes 函數計算,所有標量都會調用這個函數,進行字節對齊。

2 Struct 類型

除了基本類型之外,FlatBuffers 中只有 Struct 類型使用直接尋址進行數據訪問。FlatBuffers 規定 Struct 類型用于存儲那些約定成俗、永不改變的數據,這種類型的數據結構一旦確定便永遠不會改變,沒有任何字段是可選的(也沒有默認值),字段可能不會被添加或被棄用,所以 structs 不提供前向/后向兼容性。在這個規定之下,為了提高數據訪問速度,FlatBuffers 單獨對 Struct 使用了直接尋址的方式。字段的順序即為存儲的順序。struct 有的特性一般不作為 schema 文件的根。

示例:struct Vec3(16, 17, 18); 12個字節

struct 定義了一個固定的內存布局,其中所有字段都與其大小對齊,并且 struct 與其最大標量成員對齊。

3 vector 類型

vector 類型實際上就是 schema 中聲明的數組類型,FlatBuffers 中也沒有單獨的類型和它對應,但是它卻有自己獨立的一套存儲結構,在序列化數據時先會從高位到低位依次存儲 vector 內部的數據,然后再在數據序列化完畢后寫入 Vector 的成員個數。數據存儲結構如下:

示例:byte[] treasure = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

vector size 的類型為 int,因此在初始化申請內存時 vector 進行四字節字節對齊。

4 String 類型

FlatBuffers 字符串按照 utf-8 的方式進行了編碼,在實現字符串寫入的時候將字符串的編碼數組當做了一維的 vector 來實現。string 本質上也可以看做是 byte 的 vector ,因此創建過程和 vector 基本一致,唯一的區別就是字符串是以null結尾,即最后一位是 0。string 寫入數據的結構如下:

示例:string name = “Sword”;

vector size 的類型為 int,因此在初始化申請內存時字符串進行四字節字節對齊。

5 Union 類型

Union 類型比較特殊,FlatBuffers 規定這個類型在使用上具有如下兩個限制:

  • Union 類型的成員只能是 Table 類型。
  • Union 類型不能是一個 schema 文件的根。

FlatBuffers 中沒有特定類型表示 union,而是會生成一個單獨的類對應 union 的成員類型。與其他類型的主要區別是需要先指定類型,在序列化 Union 的時候一般先寫入 Union 的 type,然后再寫入 Union 的數據偏移;在反序列化 Union 的時候一般先
析出 Union 的 type,然后再按照 type 對應的 Table 類型來解析 Union 對應的數據。

6 Enum 類型

FlatBuffers 中的 enum 類型在數據存儲的時候是和 byte 類型存儲的方式一樣的。因為和 Union 類型相似,enum 類型在 FlatBuffers 中也沒有單獨的類與它對應,在 schema 中聲明為 enum 的類會被編譯生成單獨的類。

  • enum 類型不能是一個 schema 文件的根。

7 Table 類型

table 是 FlatBuffers 的基石,為了解決數據結構變更的問題,table 通過 vtable 間接訪問字段。每個 table 都帶有一個 vtable(可以在具有相同布局的多個 table 之間共享),并且包含存儲此特定類型 vtable 實例的字段的信息。vtable 還可能表明該字段不存在(因為此 FlatBuffers 是使用舊版本的代碼編寫的,僅僅因為信息對于此實例不是必需的,或者被視為已棄用),在這種情況下會返回默認值。

table 的內存開銷很小(因為 vtables 很小并且共享)訪問成本也很小(間接訪問),但是提供了很大的靈活性。table 在特殊情況下可能比等價的 struct 花費更少的內存,因為字段在等于默認值時不需要存儲在 buffer 中。這樣的結構決定了一些復雜類型的成員都是使用相對尋址進行數據訪問的,即先從Table 中取到成員常量的偏移,然后根據這個偏移再去常量真正存儲的地址去取真實數據。

單就結構來講:首先可以將 Table 分為兩個部分,第一部分是存儲 Table 中各個成員變量的概要,這里命名為 vtable,第二部分是 Table 的數據部分,存儲 Table 中各個成員的值,這里命名為 table_data。注意 Table 中的成員如果是簡單類型或者 Struct 類型,那么這個成員的具體數值就直接存儲在 table_data中;如果成員是復雜類型,那么 table_data 中存儲的只是這個成員數據相對于寫入地址的偏移,也就是說要獲得這個成員的真正數據還要取出 table_data 中的數據進行一次相對尋址。

  • vtable 是一個 short 類型的數組,其長度為(字段個數+2)*2字節,第一個字段是 vtable 的大小,包括這個大小本身;第二個字段是 vtable 對應的對象的大小,包括到 vtable 的 offset;接下來是每個字段相對于對象開始位置的 offset。
  • table_data 的開頭是 vtable 開始位置減去當前table對象開始位置的 INT 型 offset,由于 vtable 可能在任意的地方,這個值有可能是負值。table_data開始用int存儲了vtable的offset,因此進行了四字節對齊的。

add 的操作是添加 table_data,由于 Table 數據結構的是通過 vtable - table_data 機制存儲的,這個操作沒有強制要求字段的先后順序,對順序沒有要求,因為vtable在記錄每個字段相對于對象開始位置的 offset 時是按照 schema 中定義的順序進行存儲的,所以在add字段的時候即使沒有順序也可以根據 offset 獲取正確的值。需要注意的是,每次add字段時 FlatBuffers 都會做字節對齊處理。

std::string e_poiId = "1234567890"; double e_coord_x = 0.1; double e_coord_y = 0.2; int e_minZoom = 10; int e_maxZoom = 200;//add featureBuilder.add_poiId(nameData); featureBuilder.add_x(e_coord_x); featureBuilder.add_y(e_coord_y); featureBuilder.add_maxZoom(e_maxZoom); featureBuilder.add_minZoom(e_minZoom); auto rootData = featurePoiBuilder.Finish(); flatBufferBuilder.Finish(rootData); blob = flatBufferBuilder.GetBufferPointer(); blobSize = flatBufferBuilder.GetSize();

add 順序 1:最終二進制的大小為 72 字節。

std::string e_poiId = "1234567890"; double e_coord_x = 0.1; double e_coord_y = 0.2; int e_minZoom = 10; int e_maxZoom = 200;//add featureBuilder.add_poiId(nameData); featureBuilder.add_x(e_coord_x); featureBuilder.add_minZoom(e_minZoom); featureBuilder.add_y(e_coord_y); featureBuilder.add_maxZoom(e_maxZoom); auto rootData = featurePoiBuilder.Finish(); flatBufferBuilder.Finish(rootData); blob = flatBufferBuilder.GetBufferPointer(); blobSize = flatBufferBuilder.GetSize();

add 順序 2:最終二進制的大小為 80 字節。

add 順序 1 和 add 順序 2 對應的 schema 文件一樣,表達的數據也一樣,Table 結構在 add 字段時有沒有順序要求。序列化后的數據大小差8個字節,原因就是字節對齊導致的。因此 add 字段的時候,盡量把相同類型的字段放在一起進行 add,這樣會避免不必要的字節對齊,獲取更小的序列化結果。

FlatBuffers 的向前向后兼容指的是 table 結構。table 結構每個字段都有默認值,如果沒有明確寫出則默認為 0 或者 null。每個字段都不是必須的,可以為每個對象選擇要省略的字段,這是 FlatBuffers 向前和向后兼容的機制。需要注意的是:

  • 新的字段只能加在 table 的后面。舊的代碼會忽略這個字段,仍然可以正常執行。新的代碼讀取舊的數據,新增的字段會返回默認值。
  • 即使字段不再使用了也不能從 schema 中刪除。可以標記為 deprecated,在生成代碼的時候該字段不會生成該字段的接口。

四 FlatBuffers 的反序列化

FlatBuffers 反序列化的過程就很簡單了。由于序列化的時候保存好了各個字段的 offset,反序列化的過程其實就是把數據從指定的 offset 中讀取出來。反序列化的過程是把二進制流從 root table 往后讀。從 vtable 中讀取對應的 offset,然后在對應的 object 中找到對應的字段,如果是引用類型,string / vector / table,讀取出 offset,再次尋找 offset 對應的值,讀取出來。如果是非引用類型,根據 vtable 中的 offset ,找到對應的位置直接讀取即可。對于標量,分 2 種情況,默認值和非默認值。默認值的字段,在讀取的時候,會直接從 flatc 編譯后的文件中記錄的默認值中讀取出來。非默認值字段,二進制流中就會記錄該字段的 offset,值也會存儲在二進制流中,反序列化時直接根據offset讀取字段值即可。

整個反序列化的過程零拷貝,不消耗占用任何內存資源。并且 FlatBuffers 可以讀取任意字段,而不是像 Json 和 protocol buffer 需要讀取整個對象以后才能獲取某個字段。FlatBuffers 的主要優勢就在反序列化這里了。所以 FlatBuffers 可以做到解碼速度極快,或者說無需解碼直接讀取。

五 FlatBuffers 的自動化

FlatBuffers 的自動化包括自動生成編碼解碼接口和自動生成 Json,自動化生成編解碼接口和自動生成 Json,都依賴 schem 的解析。

1 schema 描述文件解析

FlatBuffers 描述文件解析器按游標的方式順序進行識別 FlatBuffers 支持的數據結構。獲取字段名稱、字段類型、字段默認值、是否棄用等屬性。支持關鍵字:標量類型、非標量類型、include、namespace、root_type。

如果需要嵌套的vector,可以將vector包裝在table中。

2 自動生成編碼解碼接口

FlatBuffers 使用模板編程,編碼解碼接口僅生成h文件。實現數據結構的定義,并特化出變量的Add函數、Get函數,校驗函數接口。對應的文件名為filename_generated.h。

3 自動生成Json

FlatBuffers 的主要目標是避免反序列化。通過定義二進制數據協議來實現的,一種將定義好的將數據轉換為二進制數據的方法。由該協議創建的二進制結構無需進一步解碼即可讀取。因此在自動生成json時,只需要提供二進制數據流和二進制定義結構就可以讀物數據,轉換成json。

  • Json結構與 FlatBuffers 結構保持一致。
  • 默認值不輸出 Json。

六 FlatBuffers 的優缺點

FlatBuffers 通過 Scheme 文件定義數據結構,Schema 定義與其他框架使用的IDL(Interface description language)語言類似簡單易懂,FlatBuffers 的 Scheme 是一種類C的語言(盡管 FlatBuffers 有自己的接口定義語言Scheme來定義要與之序列化的數據,但它也支持 Protocol Buffers 中的 .proto 格式)。下面以官方 Tutorial 中的 monster.fbs 為例進行說明:

1 優點

  • 解碼速度極快,將序列化數據存儲在緩存中,這些數據既可以寫出至文件中,又可以通過網絡原樣傳輸,也可直接讀取而沒有任何解析開銷,訪問數據時的唯一內存需求就是緩沖區,不需要額外的內存分配。
  • 擴展性、靈活性:它支持的可選字段意味著具有很好的前向/后向兼容。FlatBuffers 支持選擇性地寫入數據成員,這不僅為某一個數據結構在應用的不同版本之間提供了兼容性,同時還能使程序員靈活地選擇是否寫入某些字段及靈活地設計傳輸的數據結構。
  • 跨平臺:支持 C++11、Java,而不需要任何依賴庫,在最新的 gcc、clang、vs2010 等編輯器上也工作良好。使用簡單方便 ,僅僅需要自動生成的少量代碼和一個單一的頭文件依賴,很容易集成到現有系統中,生成的 C++ 代碼提供了簡單的訪問和構造接口,可以兼容 Json 等其他格式的解析。

2 缺點

  • 數據無可讀性,必須進行數據可視化才能理解數據。
  • 向后兼容性局限,在 schema 中添加或刪除字段必須小心。

七 總結

相比其它的序列化工具,FlatBuffers 最大的優勢是反序列化速度極快,或者說無需解碼。如果使用場景是需要經常解碼序列化的數據,則有可能從 FlatBuffers 的特性獲得一定的好處。

原文鏈接
本文為阿里云原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的深入浅出FlatBuffers原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久草资源在线观看 | www.久久99| 成人动漫精品一区二区 | 亚洲成人av影片 | 国产视频精品免费 | 国内小视频在线观看 | 国内精品久久久久影院一蜜桃 | 久久久久久久久久久免费 | 日本午夜在线观看 | av免费观看网址 | 日韩视频在线观看视频 | 中文字幕日韩高清 | 在线观看日韩国产 | 五月激情婷婷丁香 | 久久公开视频 | 99国产精品久久久久久久久久 | 久久亚洲综合色 | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | av视屏在线播放 | 久精品视频免费观看2 | 最新精品国产 | 亚洲干| 97视频亚洲 | 欧美极品xxx | 中文字幕日本在线观看 | 超碰免费av| 国产精品毛片一区二区三区 | 丁香激情视频 | 免费日韩在线 | 91亚洲精品国偷拍自产在线观看 | 久久综合影音 | 国产中出在线观看 | 国产亚洲精品精品精品 | 9ⅰ精品久久久久久久久中文字幕 | 国产精品久久久电影 | www最近高清中文国语在线观看 | 久久伊人精品天天 | 亚洲永久av | 97日日碰人人模人人澡分享吧 | 国产丝袜高跟 | 99久久精品久久亚洲精品 | 日韩精品一区二区三区高清免费 | 中文在线字幕观看电影 | 国产系列 在线观看 | 狠狠狠狠狠操 | 日本在线观看中文字幕无线观看 | av免费网站在线观看 | 日韩在线网 | 91桃花视频 | 天天插狠狠干 | 日韩免费视频一区二区 | 6080yy午夜一二三区久久 | 精品在线看 | 人人狠狠综合久久亚洲婷 | 91在线91拍拍在线91 | 黄色官网在线观看 | 一区二区三区四区在线免费观看 | 三级视频国产 | 最新午夜电影 | 久草视频看看 | 九色porny真实丨国产18 | 亚洲激情 欧美激情 | 日韩美女免费线视频 | 免费看的黄色 | 999免费视频 | 国产原厂视频在线观看 | 正在播放一区 | 成人午夜电影网站 | 日韩精品影视 | 一本一道久久a久久精品蜜桃 | 天天爱天天操天天射 | 日日干日日色 | 伊人狠狠色 | 四虎国产视频 | 九九色视频 | 国产精品久久久999 国产91九色视频 | 在线精品视频在线观看高清 | 亚洲最新av网站 | 国产精品二区在线观看 | 日本久草电影 | 美女福利视频 | 国产福利网站 | 99人久久精品视频最新地址 | 日韩在线视频观看 | 人人爽人人爽 | 亚洲国产精品电影在线观看 | 成人久久免费视频 | 在线观看视频黄 | 人人爽人人爽人人爽人人爽 | 中文字幕在线观看网 | 91精品一区二区在线观看 | 丁香婷婷深情五月亚洲 | 免费av黄色 | av成年人电影 | 中国精品一区二区 | 77国产精品| 国产999视频| 色婷婷六月天 | 中文字幕日韩伦理 | 91精品老司机久久一区啪 | 亚洲成av人影院 | 最近的中文字幕大全免费版 | 亚洲欧美激情插 | 激情开心网站 | 国产精品免费久久久久 | 国产在线不卡 | 狠狠色香婷婷久久亚洲精品 | 久久国产一二区 | 久久久久久久久久伊人 | 免费午夜视频在线观看 | 我爱av激情网 | 黄色精品久久 | 在线免费av观看 | 欧美一级日韩免费不卡 | 国产网站色 | 久久电影国产免费久久电影 | 国产成人亚洲在线电影 | 91超在线 | 成人av电影在线 | 久操视频在线 | 干干干操操操 | 手机在线黄色网址 | 日韩在线免费小视频 | 日韩理论电影在线 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 亚洲国产成人精品电影在线观看 | 手机成人免费视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产视频手机在线 | 一区二区三区久久 | 91亚洲夫妻 | 天天色天天操天天爽 | 国产99亚洲 | 五月天激情视频在线观看 | 97精品国产一二三产区 | 日韩激情第一页 | 国产精品久久久久久久久大全 | 91精品国产乱码久久桃 | 日本精品视频在线观看 | 久久久久久久久久久久久久av | 久久精品福利 | 日本午夜在线亚洲.国产 | 国产精品精品久久久 | 中文字幕 二区 | 一区二区高清在线 | 成人影音在线 | 欧美精品久久久久久久久久久 | 国产精品免费观看国产网曝瓜 | 国精产品满18岁在线 | 日韩最新在线 | 精品久久久影院 | 最新极品jizzhd欧美 | 色5月婷婷| 国产最新在线视频 | 亚洲精品中文在线资源 | 91porny九色91啦中文 | 欧美日韩国产一区二区三区在线观看 | 美女久久久 | 久久午夜国产 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 国产小视频福利在线 | 色婷婷国产精品 | 精品视频| 欧美91视频 | 欧美精品免费一区二区 | 久久久91精品国产一区二区三区 | 日韩免费视频在线观看 | 久久免费高清视频 | 亚洲第一中文网 | 国产精彩视频一区 | 91精品在线视频观看 | 午夜久久影视 | 涩av在线| 黄色在线看网站 | 99九九热只有国产精品 | 亚洲一级片在线看 | 狠狠激情中文字幕 | 天天操人人干 | 精品九九久久 | 黄色av网站在线免费观看 | 成年人视频在线免费播放 | 九九视频免费观看视频精品 | 亚洲精品国产精品国自产观看 | 久久久鲁 | 亚洲精品午夜aaa久久久 | 国产精品18videosex性欧美 | 国产999精品久久久久久绿帽 | 日韩精选在线 | 黄色免费电影网站 | 国产日韩精品欧美 | 精品国产伦一区二区三区观看方式 | 欧美国产亚洲精品久久久8v | 国产小视频精品 | 亚洲高清在线观看视频 | 欧美久久久久久久 | 国产黄色精品视频 | 99精品久久精品一区二区 | 99精品国产成人一区二区 | av免费看看 | 四虎在线视频免费观看 | 人人爱人人添 | 国产精品色在线 | 久久久久久久99 | 亚洲国产精品日韩 | 亚洲高清在线精品 | 中文在线a∨在线 | 成人丁香花 | 免费色网站 | a国产精品 | 9999在线视频| 亚洲日本在线一区 | 国产婷婷在线观看 | 婷婷播播网| 99久久99久久精品国产片 | 久艹在线观看视频 | 深夜视频久久 | 天天操天天操天天操天天操天天操 | 亚州精品天堂中文字幕 | 亚洲草视频 | 国产精品 中文字幕 亚洲 欧美 | 日韩中文字幕免费视频 | 果冻av在线 | 一本一道波多野毛片中文在线 | 日韩高清一二区 | 天天鲁一鲁摸一摸爽一爽 | 欧美激情另类 | 中文字幕av免费在线观看 | 丁香久久综合 | 欧美日韩另类视频 | 欧美大片www | 91视频免费网站 | 久精品视频在线观看 | 国产免费观看视频 | 国产精品手机在线观看 | 最新亚洲视频 | 国产 日韩 在线 亚洲 字幕 中文 | www看片网站 | 91黄色在线视频 | 色综合狠狠干 | 天天草天天摸 | 成人毛片在线观看视频 | 一区二区三区免费在线观看视频 | 91成人免费在线视频 | 香蕉影院在线播放 | 日韩欧美一区二区三区视频 | 狠狠狠的干 | 激情婷婷久久 | 国产 欧美 日韩 | 亚洲精品黄网站 | 永久免费精品视频 | 九九国产视频 | 成人久久网| 欧美久久久一区二区三区 | 久草视频视频在线播放 | 四虎在线视频免费观看 | 99久久精品免费 | 亚洲影视九九影院在线观看 | 久久精品www人人爽人人 | 99在线观看免费视频精品观看 | a黄色 | 欧美激情综合五月色丁香小说 | 天天玩天天操天天射 | 97夜夜澡人人双人人人喊 | 玖玖精品在线 | 国产精选在线观看 | 99在线观看免费视频精品观看 | 色999视频 | 久久人人爽人人爽人人片av免费 | 人人躁| 亚洲精品国偷拍自产在线观看 | 午夜在线看| 国产一区二区在线播放 | 国产在线a | 国产精品成人一区二区 | 亚洲最大av网站 | 久久国产高清视频 | 亚洲午夜精品久久久 | 久久精品专区 | 欧美成人精品欧美一级乱黄 | 色99之美女主播在线视频 | 亚洲精品欧洲精品 | www.黄色片网站 | 亚洲综合成人婷婷小说 | 欧美国产91| 久久视| 亚洲一区二区精品视频 | 久久综合干 | 精品一区精品二区高清 | 日本久久电影网 | 天天曰视频| 日韩乱码中文字幕 | 久久调教视频 | 97超碰人人模人人人爽人人爱 | 91视频91色 | 国内精品99| 国产99久久久精品视频 | 国产精品视频永久免费播放 | 色网站在线免费观看 | 超级碰碰碰免费视频 | 久草视频99| 久久狠狠干 | 日本一区二区不卡高清 | 最新久久久 | 久久精品亚洲国产 | 麻豆网站免费观看 | av黄色影院| 精品亚洲成a人在线观看 | 国产不卡视频在线 | 国产午夜精品一区二区三区嫩草 | 97在线看片 | 久久久精品网站 | 在线 欧美 日韩 | 91福利专区| av免费网站观看 | 国产福利中文字幕 | 成人毛片一区 | 最近日韩免费视频 | av福利在线免费观看 | 欧洲色吧| 3d黄动漫免费看 | 亚洲高清国产视频 | 超碰97人人在线 | 久久久99精品免费观看 | 日韩激情一二三区 | 国产视频在线播放 | 制服丝袜成人在线 | 国产剧情一区二区在线观看 | 国产精品免费观看视频 | 深夜激情影院 | 国产一区在线看 | 婷婷狠狠操| 不卡的av在线| 激情深爱| 国产专区视频在线 | www.狠狠插.com | 国产1区在线观看 | 日韩av在线影视 | 日日干天天插 | 久久伊人婷婷 | 在线观看黄色大片 | 国产高清视频在线播放一区 | 97视频免费在线观看 | 又黄又爽又无遮挡的视频 | 在线电影a | 欧美大码xxxx | 亚洲国产伊人 | 2019精品手机国产品在线 | 国产精选在线 | 国产精品毛片久久久久久久 | www黄免费 | 久久国产热视频 | 91人人爽久久涩噜噜噜 | 在线视频日韩一区 | 高清在线一区二区 | 国产福利小视频在线 | 亚洲乱码中文字幕综合 | 精品久久毛片 | 视频成人永久免费视频 | 五月天国产精品 | 黄色精品在线看 | 香蕉网站在线观看 | 成人蜜桃网 | 久久久综合精品 | 亚洲免费精品视频 | 最新99热 | 免费在线观看国产精品 | 东方av免费在线观看 | 国产一区在线视频 | 99色在线播放 | 久久福利综合 | 黄色亚洲精品 | 最近日本mv字幕免费观看 | 久久综合国产伦精品免费 | 精品福利av | 夜夜操天天干, | 91成人精品一区在线播放69 | 国产理论免费 | 久久在线精品 | 欧美日韩国产一二 | 国产香蕉av| 日本高清中文字幕有码在线 | 久久不射电影网 | 久久精品久久久精品美女 | 不卡av电影在线观看 | 超碰com| 日韩精品你懂的 | 欧美精品久久 | 日本中文字幕在线播放 | www黄色大片| 国产永久网站 | 久久精品高清视频 | 91毛片在线观看 | 国产在线2020 | 人人澡视频 | av中文电影| 天天射天天射天天 | 国产精品一区二区三区免费看 | 国产综合片 | 国产一区 在线播放 | 六月丁香色婷婷 | 中文字幕 在线看 | 高清av中文在线字幕观看1 | 婷婷草 | 蜜臀av一区二区 | 天天色天天射天天综合网 | 欧美一级性生活视频 | 在线国产一区二区三区 | www.色婷婷 | 精品免费在线视频 | 免费在线电影网址大全 | 国产成人一区在线 | 亚洲国产欧美一区二区三区丁香婷 | 久久久久久久久久久影院 | 久久精品欧美一区 | 超碰97免费在线 | 五月婷婷一级片 | 麻豆视频在线观看免费 | 96av在线| 久久精品一级片 | 天天操天天干天天操天天干 | 成人av高清在线观看 | 日韩欧美精品一区二区 | 欧美黑人性猛交 | 99精品欧美一区二区蜜桃免费 | 天天综合网~永久入口 | 在线网址你懂得 | 西西44人体做爰大胆视频 | 99久久婷婷国产精品综合 | 中文字幕在线播放日韩 | 五月激情五月激情 | 国产 av 日韩 | 日韩免费成人 | 国产一区二区不卡视频 | 国产精品视频免费观看 | 精品久久久久久国产 | 欧美天堂视频在线 | 在线视频国产区 | 亚洲综合视频在线 | 久久毛片视频 | 有没有在线观看av | 久久久久亚洲精品成人网小说 | 99re久久精品国产 | 国产精品成人久久 | www中文在线 | 久久精品79国产精品 | 黄色毛片网站在线观看 | 国产精品高清一区二区三区 | 亚洲黄色在线观看 | 黄色成人影院 | 午夜性生活片 | 亚洲情感电影大片 | 国产成人精品久久亚洲高清不卡 | 日韩av男人的天堂 | 欧美亚洲久久 | 久久婷五月 | 国产高清久久久 | 99精品一级欧美片免费播放 | 欧美日韩国产在线一区 | 伊人色播 | 日韩免费区| 日韩专区在线 | 亚洲黄色在线 | 91福利区一区二区三区 | 亚洲视频网站在线观看 | 五月婷婷久久综合 | 色婷婷丁香| 亚洲成成品网站 | 国产在线免费观看 | 国产成人免费观看久久久 | 天天干天天摸 | 黄色亚洲在线 | 免费av网址在线观看 | 久久黄色美女 | 亚州精品天堂中文字幕 | 国产精品一区二区av日韩在线 | 中文字幕在线观看免费高清电影 | 免费国产视频 | 在线观看网站你懂的 | 综合色综合色 | 久久国产99 | 欧美日韩精品二区第二页 | 中文字幕在线观看网址 | 久久免费国产 | 狠狠色综合网站久久久久久久 | 国产高清视频在线播放 | 69亚洲乱 | 日韩免费三区 | 五月婷婷视频在线观看 | 91av欧美 | 成人a级网站 | 精品视频国产一区 | 国产在线观看你懂得 | 精品国产一区二区三区男人吃奶 | 国产精品黄色影片导航在线观看 | 国产精品国产自产拍高清av | 久久综合视频网 | 国产精品99久久久久久武松影视 | 日韩网站一区二区 | 成人黄色小说视频 | 成年人视频免费在线 | 麻豆免费视频观看 | 天堂在线视频免费观看 | 日韩av女优视频 | 日韩在线视频国产 | 日韩欧美区 | 五月婷婷一级片 | 日韩精品视频在线免费观看 | 97免费中文视频在线观看 | 天天操伊人 | 黄色日批网站 | 亚洲黄色在线免费观看 | 亚洲精品美女视频 | 国产精品久久久久久久久久免费看 | 一区二区理论片 | 亚洲毛片在线观看. | 午夜免费视频网站 | 激情综合电影网 | 在线a亚洲视频播放在线观看 | 成人午夜电影免费在线观看 | 亚洲欧洲在线视频 | 日韩大片在线看 | 中文资源在线官网 | 又黄又爽免费视频 | 天天操天天是 | 超碰午夜 | 9999在线视频 | 久久综合桃花 | 日韩午夜三级 | 亚洲码国产日韩欧美高潮在线播放 | 日日草夜夜操 | 九九久久成人 | 久久国产热视频 | 欧美一级片免费在线观看 | 天天操天操 | 91日韩在线播放 | 又粗又长又大又爽又黄少妇毛片 | 香蕉视频日本 | 亚洲一区二区精品 | 亚洲网站在线看 | 国产精品淫片 | 91麻豆精品国产自产在线 | 天天夜夜亚洲 | 在线直播av | 中文字幕亚洲综合久久五月天色无吗'' | 国产精品久久久久久久久免费 | 超碰免费97 | 一级电影免费在线观看 | 亚洲日本欧美在线 | 久久国产精品99国产 | 久久精品日本啪啪涩涩 | 又色又爽的网站 | 日韩 精品 一区 国产 麻豆 | 国产精品久久久久影视 | 日本不卡久久 | 久久人人干| 久久草网| 日本久久不卡视频 | 在线国产能看的 | 玖玖在线播放 | 亚洲伊人av | 天天操天天爱天天爽 | 最新av免费| 91精品啪在线观看国产线免费 | 日韩在线网址 | 激情五月婷婷综合网 | 超碰电影在线观看 | 精品999在线 | 国产在线视频一区二区三区 | 99超碰在线播放 | 丁香花在线视频观看免费 | 丁香色婷婷 | 91在线播放综合 | 精品99在线视频 | 91在线视频在线观看 | 国产一级在线 | 国产成人精品999在线观看 | 亚洲乱码中文字幕综合 | 91精品一区二区在线观看 | 天天干,天天操,天天射 | 亚洲精品av中文字幕在线在线 | 亚洲精品网页 | 久久在线播放 | 免费一级毛毛片 | 亚洲精品高清在线 | 手机成人av在线 | av久久久久久 | 伊在线视频 | 日韩在线短视频 | 久久97久久97精品免视看 | 91在线影视| 成人毛片在线视频 | 中国美女一级看片 | 91在线视频在线观看 | 在线中文视频 | 69视频在线 | 人人爱在线视频 | 久久99最新地址 | 免费在线观看av网址 | 黄色小说免费在线观看 | 色七七亚洲影院 | 国产高清无av久久 | 国产精品乱码久久久久久1区2区 | 国产精品无av码在线观看 | 国色天香永久免费 | 午夜黄网 | 国产91在线观 | 久久99精品久久久久久久久久久久 | 天天添夜夜操 | 免费在线观看av电影 | 又黄又爽的视频在线观看网站 | 福利视频一区二区 | 国产一级片在线播放 | 欧美日韩在线播放 | 午夜少妇av | 欧美另类性 | 国产一区91 | 五月天婷婷综合 | 国产精品久久久久久久久久久久午夜片 | 久久精品一区二区 | 久草在线手机视频 | 成人av网站在线播放 | 最近中文字幕视频网 | 97电影网手机版 | 91av在线视频免费观看 | 久久免费成人精品视频 | 久久在线免费观看视频 | 色婷婷在线观看视频 | 18av在线视频 | 国产精品免费视频一区二区 | 热99久久精品 | 午夜黄色 | 欧美国产日韩中文 | 欧美性久久久 | 亚洲国产美女精品久久久久∴ | 免费亚洲电影 | 日韩v欧美v日本v亚洲v国产v | 96精品高清视频在线观看软件特色 | 玖玖视频国产 | 天天摸天天弄 | 93久久精品日日躁夜夜躁欧美 | 欧美一区影院 | 国产视频 亚洲精品 | 一区二区三区四区久久 | 狠狠狠色丁香综合久久天下网 | 欧美另类调教 | 中文字幕在线播放一区 | 在线观看视频97 | 欧美日韩免费在线视频 | 日韩视频免费观看高清 | 日韩免费在线观看网站 | 精品国产一二三四区 | 中文字幕在线看片 | 在线观看播放av | 国产精品免费视频久久久 | 国产高清不卡 | 免费看黄色小说的网站 | 欧美精品做受xxx性少妇 | 日韩高清一区在线 | 91精品国产99久久久久 | 国产精品99久久久久久宅男 | 一区二区三区在线免费观看 | 91精品视频播放 | 美女网站视频免费都是黄 | 在线视频婷婷 | 日本三级全黄少妇三2023 | 日韩一区二区三区在线观看 | 黄色免费网站大全 | 91av视频在线免费观看 | 欧美日韩精品二区第二页 | 国产丝袜一区二区三区 | 超碰97成人| 日韩一级黄色大片 | 国产精品日韩高清 | 91丨九色丨91啦蝌蚪老版 | 超级碰碰碰免费视频 | 久久中文字幕导航 | 亚洲永久精品国产 | 91精品国产福利在线观看 | 亚洲成av片人久久久 | 日韩中文字| 欧美国产日韩在线视频 | 婷婷色伊人 | 黄色免费网 | 91视频高清完整版 | 久久久亚洲电影 | 天堂av官网 | 在线黄色免费av | 精品久久久久久亚洲综合网站 | 国产资源在线播放 | 天天操夜夜操夜夜操 | 99这里都是精品 | 天天操天天怕 | 日日爽夜夜操 | 日韩精品在线看 | 天天草天天摸 | 国产高清视频 | 日日夜夜天天射 | 国产爽妇网| 97国产在线视频 | 插插插色综合 | 亚洲免费国产 | 国产精品久久久久久久久搜平片 | 欧美一级性生活 | 人人爱人人射 | av在线播放免费 | 精品日韩在线一区 | 精品国产一区二区三区日日嗨 | 高清视频一区二区三区 | 99精品在线观看视频 | 亚洲人成免费网站 | 欧美另类v| 婷婷av电影 | 日韩黄色软件 | 91av社区 | 久久久国产精品人人片99精片欧美一 | 黄色www免费 | 成片视频免费观看 | 国产精品乱码一区二三区 | 国产成人在线综合 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 国产精品毛片一区二区在线看 | 色wwww| 91精品国产成 | 三级动态视频在线观看 | 亚洲精品久久久久999中文字幕 | 999一区二区三区 | 精品嫩模福利一区二区蜜臀 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 色五月色开心色婷婷色丁香 | 在线欧美中文字幕 | 黄网站色成年免费观看 | 国产精品久久久久久久久久99 | 亚洲视频1区2区 | av超碰在线观看 | 91在线视频 | 在线观看国产www | 亚洲福利精品 | 天天干夜夜 | 久久婷婷精品 | 国产小视频在线 | 1024手机基地在线观看 | 久久久久久久久久久国产精品 | 精品久久网 | 国产精品18久久久久久久久久久久 | 久久久婷| 在线免费观看欧美日韩 | 99视频在线免费 | 91在线观看视频网站 | 中文字幕电影一区 | 成人在线视频免费观看 | 手机av片 | 天海冀一区二区三区 | 1区2区3区在线观看 三级动图 | 国产成人一区二区三区在线观看 | 日韩精品一区在线播放 | 激情深爱 | 免费亚洲片 | 国产日产精品一区二区三区四区的观看方式 | 亚洲人成在线观看 | 亚洲黄色在线观看 | 欧美日韩成人 | 国产在线观看a | 九九热免费在线视频 | 福利网址在线观看 | 国产成人亚洲精品自产在线 | 日韩av成人在线观看 | 国产精品综合av一区二区国产馆 | 国产精品theporn | 在线成人一区 | 天天摸天天舔 | 一区免费视频 | 五月婷婷久久丁香 | 视频国产在线观看18 | 国产精品久久一区二区三区, | 久久精品站 | 成人资源网 | 国外成人在线视频网站 | 国产日韩在线看 | 成全免费观看视频 | 国产精品免费久久久 | 丁香综合av | 婷婷色网址| 国产黄色一级片在线 | 久久久久综合精品福利啪啪 | 天天干天天操天天拍 | 亚洲一二三久久 | 亚洲美女精品区人人人人 | 日日夜夜综合网 | 久操97 | 欧美性色综合网 | 美女福利视频一区二区 | 日本 在线 视频 中文 有码 | 国产成人精品一区二 | 欧美日韩1区 | 欧美日韩一区二区在线 | 欧美污污网站 | 精品一区二区在线免费观看 | 亚洲免费色 | 波多野结衣精品 | 五月丁色| 日韩网站免费观看 | 一区二区三区精品久久久 | 国产精品视频大全 | 香蕉视频免费在线播放 | 亚洲综合在线观看视频 | 99色| 狠狠操狠狠干天天操 | 国产高清第一页 | 久久这里只有精品视频99 | 成年人黄色免费看 | 亚洲国产婷婷 | 99久久网站 | 久久99在线视频 | aaaaaa毛片| 麻豆 91 在线| 不卡av电影在线观看 | 欧美一级片在线观看视频 | 亚洲在线日韩 | 久久综合九色综合网站 | 国产一区视频在线播放 | 麻豆成人在线观看 | 91精品久久久久久综合乱菊 | 成人在线电影观看 | 成人午夜影院在线观看 | 日韩欧美精品一区二区三区经典 | 国产精品av免费在线观看 | 久久久九色精品国产一区二区三区 | 免费福利小视频 | 中文字幕网站视频在线 | 天天干天天射天天操 | 在线观看国产福利片 | 在线国产黄色 | 日本mv大片欧洲mv大片 | 91免费观看视频网站 | 国产va饥渴难耐女保洁员在线观看 | 成年人免费看片 | 久久免费国产电影 | 国产精品久久久999 国产91九色视频 | 免费精品久久久 | 99久久精品国 | 特级大胆西西4444www | 久久婷五月 | 亚洲电影成人 | 精品在线观看一区二区 | 久久999精品 | 91久久久久久国产精品 | 一区二区三区免费在线 | 日韩欧美综合 | 色吊丝av中文字幕 | 久久久久久网址 | 欧美日韩精品在线观看视频 | 日韩偷拍精品 | 国产热re99久久6国产精品 | 色噜噜噜| 91亚瑟视频| 免费日韩一级片 | 国产精品毛片一区视频播 | 欧美激情综合五月色丁香 | 免费高清男女打扑克视频 | 又紧又大又爽精品一区二区 | 精品亚洲免费 | 91麻豆看国产在线紧急地址 | 97在线视频免费观看 | 91av视频| 久草免费看 | 成人毛片在线观看视频 | 91一区啪爱嗯打偷拍欧美 | 欧美日韩在线观看一区二区 | 国产在线精品一区二区三区 | 色先锋资源网 | 日韩亚洲在线观看 | 午夜免费福利片 | 国产一区二区三区久久久 | 黄色毛片视频免费观看中文 | 国产精品久久久久久久久免费 | 在线看国产日韩 | 国产精品乱码久久 | 天天透天天插 | 久久久久久久免费看 | 在线视频第一页 | 国产999精品久久久久久绿帽 | 亚洲精品国偷拍自产在线观看 | 日韩黄色免费在线观看 | 日韩有码欧美 | 丁香花在线视频观看免费 | 久久久久久久国产精品视频 | 五月天精品视频 | 九九久久久久99精品 | 亚洲综合网 | 在线观看免费日韩 | 欧美精品久久久久久久久久白贞 | 久久免费福利视频 | 国产不卡在线看 | 国产明星视频三级a三级点| av7777777| 麻豆91在线 | 国产黄色电影 | 国产品久精国精产拍 | av资源网在线播放 | 免费在线电影网址大全 | 久久午夜国产精品 | 国产91国语对白在线 | 国产精品激情在线观看 | 奇米网777| 激情xxxx | 99免费精品 | 欧美久久久久久久久久久 | 国产精品美女视频网站 | 高清av中文字幕 | 久久国产经典视频 | 98超碰人人 | 四虎国产视频 | 亚洲我射av | 黄色毛片视频免费 | 成人免费视频网站 | 96av在线视频| 日韩系列在线观看 | 中文字幕在线播放一区二区 | 91爱爱中文字幕 | 欧美日韩一区二区在线观看 | 国产婷婷视频在线 | 欧美一区免费在线观看 | 日韩欧美国产成人 | 国产精品成人免费一区久久羞羞 | 欧美色图东方 | 在线色资源 | 日韩av一区在线观看 | 亚洲 精品在线视频 | 日韩精品专区在线影院重磅 | 免费在线观看av的网站 | 欧美日本在线观看视频 | 亚洲色图22p | 国产精品99久久久久久人免费 | 午夜精品视频一区 | 婷婷网站天天婷婷网站 | 国产亚洲久一区二区 | www国产亚洲 | 久久不射网站 | 一本一道波多野毛片中文在线 | 国产理论一区二区三区 | 黄色一级大片在线免费看产 | 免费网站在线 | 精品福利片 | 蜜臀av性久久久久蜜臀av | 中文字幕国产精品一区二区 | 天堂久久电影网 | 在线黄网站 | 亚洲黄色在线观看 | 国产精品毛片久久久久久久 | 亚洲久草在线视频 | 日韩三级av | 在线观看av免费 | 成人av在线影视 | 国产精品涩涩屋www在线观看 | 91禁在线看| 国产精彩在线视频 | 国产精品毛片久久久 | 欧美日韩三级在线观看 | 亚洲精品国产区 | 91秒拍国产福利一区 | 超碰国产在线观看 | 国产在线永久 | 国产男女无遮挡猛进猛出在线观看 | 欧美一级久久 | 国产流白浆高潮在线观看 | 亚洲一级特黄 | 国产视频不卡一区 | 日韩免费视频播放 | 狠狠操狠狠操 | 五月婷婷网站 | 国产精品久久久久久久免费观看 | 开心激情久久 | 91人人在线 | 国产91精品看黄网站在线观看动漫 | 久草精品在线观看 | 色久网| 免费合欢视频成人app | 午夜在线日韩 | 人人澡人人澡人人 | 久久av福利 | 日韩高清av| 国产午夜麻豆影院在线观看 | 久久久午夜剧场 | 久草免费看 | 国产中文字幕视频在线观看 | 超碰在线97观看 | 91人人澡人人爽 | 九九精品视频在线观看 | 日韩国产精品毛片 | 国产在线视频资源 | 国内丰满少妇猛烈精品播放 | 成人在线视频免费看 | 亚洲成人第一区 | 国产成人精品一区二区在线观看 | 99视频在线免费播放 | 国产精品精品久久久久久 | 中文字幕日本特黄aa毛片 |