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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

functor_纯Java中的Functor和Monad示例

發布時間:2023/12/3 java 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 functor_纯Java中的Functor和Monad示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

functor

本文最初是我們使用RxJava進行React式編程的附錄。 但是,盡管與React式編程非常相關,但對monad的介紹卻不太適合。 因此,我決定將其取出并作為博客文章單獨發布。 我知道,“ 我對單子的自己的,一半正確和一半的完整解釋 ”是編程博客上的新“ Hello,world ”。 然而,本文從Java數據結構和庫的特定角度研究了函子和monad。 因此,我認為值得分享。

RxJava的設計和構建基于非?;镜母拍?#xff0c;例如函子 , monoid和monad 。 盡管Rx最初是為命令式C#語言建模的,并且我們正在學習RxJava,并在類似的命令式語言上工作,但該庫還是源于函數式編程。 在意識到RxJava API的緊湊性之后,您應該不會感到驚訝。 幾乎只有少數幾個核心類,通常是不可變的,并且所有內容都主要由純函數組成。

隨著函數式編程(或函數式樣式)的最新興起(最普遍地用Scala或Clojure等現代語言表示),monads成為了廣泛討論的話題。 他們周圍有很多民間傳說:

monad是endofunctors類別中的monoid,這是什么問題?
詹姆斯·伊里

該monad的詛咒是,一旦您獲得了頓悟,一旦您理解了“哦,就是這樣”,您就失去了向任何人解釋它的能力。
道格拉斯·克羅克福德

絕大多數程序員,尤其是那些沒有函數式編程背景的程序員,都傾向于認為monad是某種神秘的計算機科學概念,因此從理論上講,它對他們的編程事業無濟于事。 這種消極的觀點可以歸因于數十篇文章或博客文章太抽象或太狹窄。 但是事實證明,甚至標準的Java庫都存在monad,特別是自Java Development Kit(JDK)8起(稍后會有更多介紹)。 絕對妙不可言的是,一旦您第一次了解monad,突然之間就會有幾個完全不相同的目的無關的類和抽象變得熟悉。

Monad概括了各種看似獨立的概念,因此學習Monad的另一種化身只需很少的時間。 例如,您不必學習CompletableFuture在Java 8中的工作方式,一旦意識到它是monad,就可以精確地知道它是如何工作的,并且可以從其語義中得到什么。 然后您會聽說RxJava聽起來有很多不同,但是由于Observable是monad,因此沒有太多可添加的。 您已經不知不覺中已經遇到過許多其他的單子示例。 因此,即使您實際上沒有使用RxJava,本節也將是有用的復習。

函子

在解釋什么是monad之前,讓我們研究一個稱為functor的簡單結構。 函子是封裝某些值的類型化數據結構。 從語法的角度來看,函子是具有以下API的容器:

import java.util.function.Function;interface Functor<T> {<R> Functor<R> map(Function<T, R> f);}

但是僅僅語法是不足以了解什么是函子。 functor提供的唯一操作是帶函數f map() 。 此函數接收框內的任何內容,對其進行轉換并將結果按原樣包裝到另一個函子中。 請仔細閱讀。 Functor<T>始終是不可變的容器,因此map不會使執行該操作的原始對象發生突變。 取而代之的是,它返回包裝在全新函子中的結果(或結果–請耐心等待),該函子可能是類型R 此外,在應用標識函數(即map(x -> x)時,函子不應執行任何操作。 這種模式應始終返回相同的函子或相等的實例。

通常將Functor<T>與保存T實例進行比較,其中與該值交互的唯一方法是對其進行轉換。 但是,沒有從函子解開或逃逸的慣用方式。 值始終在函子的上下文內。 函子為什么有用? 它們使用一個統一的,適用于所有對象的統一API來概括多個通用習語,如集合,promise,Optionals等。 讓我介紹幾個函子,以使您更流暢地使用此API:

interface Functor<T,F extends Functor<?,?>> {<R> F map(Function<T,R> f); }class Identity<T> implements Functor<T,Identity<?>> {private final T value;Identity(T value) { this.value = value; }public <R> Identity<R> map(Function<T,R> f) {final R result = f.apply(value);return new Identity<>(result);}}

需要額外的F類型參數來進行Identity編譯。 在前面的示例中,您看到的是最簡單的函子,僅包含一個值。 您只能使用map方法內部的值對其進行轉換,但無法提取它。 這被認為超出了純函子的范圍。 與函子進行交互的唯一方法是應用類型安全的轉換序列:

Identity<String> idString = new Identity<>("abc"); Identity<Integer> idInt = idString.map(String::length);

或流利地,就像您編寫函數一樣:

Identity<byte[]> idBytes = new Identity<>(customer).map(Customer::getAddress).map(Address::street).map((String s) -> s.substring(0, 3)).map(String::toLowerCase).map(String::getBytes);

從這個角度來看,在函子上的映射與調用鏈式函數沒有太大不同:

byte[] bytes = customer.getAddress().street().substring(0, 3).toLowerCase().getBytes();

您為什么還要煩惱這種冗長的包裝,不僅不提供任何附加值,而且也無法將內容提取回去? 好吧,事實證明您可以使用此原始函子抽象對其他幾個概念建模。 例如,從Java 8開始的java.util.Optional<T>是帶有map()方法的函子。 讓我們從頭開始實現它:

class FOptional<T> implements Functor<T,FOptional<?>> {private final T valueOrNull;private FOptional(T valueOrNull) {this.valueOrNull = valueOrNull;}public <R> FOptional<R> map(Function<T,R> f) {if (valueOrNull == null)return empty();elsereturn of(f.apply(valueOrNull));}public static <T> FOptional<T> of(T a) {return new FOptional<T>(a);}public static <T> FOptional<T> empty() {return new FOptional<T>(null);}}

現在變得有趣了。 FOptional<T>函子可以保存一個值,但也可以為空。 這是一種對null進行編碼的類型安全的方法。 構造FOptional方法有兩種:通過提供值或創建empty()實例。 在這兩種情況下,就像Identity , FOptional是不可變的,我們只能從內部與值交互。 FOptional不同之FOptional在于,如果轉換函數f為空,則它可能不會應用于任何值。 這意味著函子可能不必完全封裝類型T一個值。 它也可以包裝任意數量的值,就像List …functor:

import com.google.common.collect.ImmutableList;class FList<T> implements Functor<T, FList<?>> {private final ImmutableList<T> list;FList(Iterable<T> value) {this.list = ImmutableList.copyOf(value);}@Overridepublic <R> FList<?> map(Function<T, R> f) {ArrayList<R> result = new ArrayList<R>(list.size());for (T t : list) {result.add(f.apply(t));}return new FList<>(result);} }

API保持不變:在轉換T -> R使用函子,但是行為卻大不相同。 現在,我們對FList每個項目應用轉換,以聲明方式轉換整個列表。 因此,如果您有一個customers列表,并且想要他們的街道列表,則非常簡單:

import static java.util.Arrays.asList;FList<Customer> customers = new FList<>(asList(cust1, cust2));FList<String> streets = customers.map(Customer::getAddress).map(Address::street);

這不再像說customers.getAddress().street()那樣簡單,您不能在一組客戶上調用getAddress() ,必須在每個單獨的客戶上調用getAddress() ,然后將其放回一個集合中。 順便說一句,Groovy發現這種模式是如此普遍,以至于實際上有一個語法糖: customer*.getAddress()*.street() 。 該運算符稱為散點圖,實際上是變相的map 。 也許您想知道為什么我要在map list手動遍歷list而不是使用Java 8中的Stream : list.stream().map(f).collect(toList()) ? 這會響嗎? 如果我告訴您Java java.util.stream.Stream<T>也是一個函子怎么辦? 順便說一句,一個單子?

現在,您應該看到函子的第一個好處–它們抽象了內部表示形式,并為各種數據結構提供了一致且易于使用的API。 作為最后一個示例,讓我介紹類似于Future promise函數。 Promise “承諾”某一天將提供一個值。 它尚未出現,可能是因為產生了一些后臺計算,或者我們正在等待外部事件。 但是它將在將來出現。 完成Promise<T>的機制并不有趣,但是函子的性質是:

Promise<Customer> customer = //... Promise<byte[]> bytes = customer.map(Customer::getAddress).map(Address::street).map((String s) -> s.substring(0, 3)).map(String::toLowerCase).map(String::getBytes);

看起來很熟悉? 這就是重點! Promise函子的實現超出了本文的范圍,甚至不重要。 不用說,我們非常接近從Java 8實現CompletableFuture ,并且幾乎從RxJava中發現了Observable 。 但是回到函子。 Promise<Customer>尚未持有Customer的值。 它有望在將來具有這種價值。 但是我們仍然可以像使用FOptional和FList一樣映射此類函子–語法和語義完全相同。 行為遵循函子表示的內容。 調用customer.map(Customer::getAddress)產生Promise<Address> ,這意味著map是非阻塞的。 customer.map() 不會等待基礎的customer承諾完成。 相反,它返回另一個不同類型的承諾。 當上游承諾完成時,下游承諾將應用傳遞給map()的函數并將結果傳遞給下游。 突然,我們的函子使我們能夠以非阻塞方式流水線進行異步計算。 但是您不必理解或學習-因為Promise是函子,所以它必須遵循語法和法則。

函子還有許多其他很好的例子,例如以組合方式表示值或錯誤。 但是現在是時候看看單子了。

從函子到單子

我假設您了解函子是如何工作的,為什么它們是有用的抽象。 但是函子并不像人們期望的那樣普遍。 如果您的轉換函數(作為參數傳遞給map()那個)返回函子實例而不是簡單值,會發生什么? 好吧,函子也只是一個值,所以沒有壞事發生。 將返回的所有內容放回函子中,以便所有行為都保持一致。 但是,假設您有以下方便的方法來解析String :

FOptional<Integer> tryParse(String s) {try {final int i = Integer.parseInt(s);return FOptional.of(i);} catch (NumberFormatException e) {return FOptional.empty();} }

例外是會破壞類型系統和功能純度的副作用。 在純函數語言中,沒有例外的地方,畢竟我們從來沒有聽說過在數學課上拋出例外,對嗎? 錯誤和非法條件使用值和包裝器明確表示。 例如, tryParse()接受一個String但并不簡單地返回int或在運行時靜默引發異常。 通過類型系統,我們明確告知tryParse()可能失敗,字符串格式錯誤不會有任何異?;蝈e誤。 此半故障由可選結果表示。 有趣的是,Java已經檢查了必須聲明和處理的異常,因此從某種意義上講,Java在這方面比較純凈,它沒有隱藏副作用。 但是,無論好壞,通常在Java中不建議使用檢查異常,因此讓我們回到tryParse() 。 用已經包裝在FOptional String組成tryParse似乎很有用:

FOptional<String> str = FOptional.of("42"); FOptional<FOptional<Integer>> num = str.map(this::tryParse);

這不足為奇。 如果tryParse()返回一個int您將得到FOptional<Integer> num ,但是由于map()函數返回FOptional<Integer>本身,因此它被包裝兩次,成為笨拙的FOptional<FOptional<Integer>> 。 請仔細查看類型,您必須了解為什么在這里獲得此雙重包裝。 除了看上去很恐怖之外,在函子中放一個函子會破壞構圖和流暢的鏈接:

FOptional<Integer> num1 = //... FOptional<FOptional<Integer>> num2 = //...FOptional<Date> date1 = num1.map(t -> new Date(t));//doesn't compile! FOptional<Date> date2 = num2.map(t -> new Date(t));

在這里,我們嘗試通過將int轉換為+ Date +來映射FOptional的內容。 具有Functor<Integer> int -> Date的功能,我們可以輕松地從Functor<Integer>為Functor<Date> ,我們知道它是如何工作的。 但是在num2情況下情況變得復雜。 num2.map()接收的輸入不再是int而是FOoption<Integer> ,顯然java.util.Date沒有這樣的構造函數。 我們通過雙重包裹來破壞了函子。 但是,具有返回函子而不是簡單值的函數非常普遍(例如tryParse() ),因此我們不能簡單地忽略這種要求。 一種方法是引入一種特殊的無參數join()方法,以“展平”嵌套函子:

FOptional<Integer> num3 = num2.join()

它可以工作,但是因為這種模式太普遍了,所以引入了一種名為flatMap()特殊方法。 flatMap()與map非常相似,但希望作為參數接收的函數返回函子-或monad是精確的:

interface Monad<T,M extends Monad<?,?>> extends Functor<T,M> {M flatMap(Function<T,M> f); }

我們僅得出結論, flatMap只是一種語法糖,可以實現更好的組合。 但是flatMap方法(通常稱為Haskell的bind或>>= )具有所有不同之處,因為它允許以純函數式的形式構成復雜的轉換。 如果FOptional是monad的實例,則解析突然可以按預期進行:

FOptional<Integer> num = FOptional.of(42); FOptional<Integer> answer = num.flatMap(this::tryParse);

Monads不需要實現map ,可以輕松地在flatMap()之上實現它。 實際上, flatMap是啟用全新轉換領域的基本運算符。 顯然,就像函子一樣,語法順從性還不足以將某個類稱為monad, flatMap()運算符必須遵循monad定律,但它們非常直觀,就像flatMap()與標識的關聯性一樣。 后者要求m(x).flatMap(f)與持有值x任何monad和函數f f(x)相同。 我們不會深入研究monad理論,而讓我們關注實際含義。 當內部結構并非無關緊要時,Monad便會發光,例如Promise monad,它將在將來具有一定的價值。 您可以從類型系統中猜測Promise在以下程序中的表現嗎? 首先,所有可能花費一些時間才能完成的方法都會返回Promise :

import java.time.DayOfWeek;Promise<Customer> loadCustomer(int id) {//... }Promise<Basket> readBasket(Customer customer) {//... }Promise<BigDecimal> calculateDiscount(Basket basket, DayOfWeek dow) {//... }

現在,我們可以將這些函數組合起來,就好像它們都是使用單子運算符進行了阻塞一樣:

Promise<BigDecimal> discount = loadCustomer(42).flatMap(this::readBasket).flatMap(b -> calculateDiscount(b, DayOfWeek.FRIDAY));

這變得很有趣。 flatMap()必須保留monadic類型,因為所有中間對象都是Promise 。 不僅僅是保持類型有序-先前的程序突然完全異步! loadCustomer()返回Promise因此不會阻塞。 readBasket()接受Promise擁有(將要擁有的一切)并應用返回另一個Promise的函數,依此類推。 基本上,我們建立了一個異步計算管道,其中后臺完成一個步驟會自動觸發下一步。

探索

有兩個單子并將它們包含的值組合在一起是很常見的。 但是函子和monad均不允許直接訪問其內部,這是不純的。 相反,我們必須謹慎地應用轉換,而不能逃脫monad。 假設您有兩個單子,并且您想將它們合并

import java.time.LocalDate; import java.time.Month;Monad<Month> month = //... Monad<Integer> dayOfMonth = //...Monad<LocalDate> date = month.flatMap((Month m) ->dayOfMonth.map((int d) -> LocalDate.of(2016, m, d)));

請花點時間研究前面的偽代碼。 我沒有使用任何真正的monad實現(例如Promise或List來強調核心概念。 我們有兩個獨立的monad,一個是Month類型,另一個是Integer類型。 為了從中構建LocalDate ,我們必須構建一個嵌套的轉換,該轉換可以訪問兩個monad的內部。 仔細研究這些類型,尤其要確保您了解為什么我們在一個地方使用flatMap在另一個地方使用map() 。 想想如果您還有第三個Monad<Year> ,那么您將如何構造此代碼。 這種應用兩個參數(在本例中為m和d )的函數的模式非常普遍,以至于Haskell中有一個特殊的輔助函數,稱為liftM2 ,它完全在map和flatMap上實現了這種轉換。 在Java偽語法中,它看起來像這樣:

Monad<R> liftM2(Monad<T1> t1, Monad<T2> t2, BiFunction<T1, T2, R> fun) {return t1.flatMap((T1 tv1) ->t2.map((T2 tv2) -> fun.apply(tv1, tv2))); }

您不必為每個monad實現此方法, flatMap()足夠了,而且它對所有monad都一致地起作用。 當您考慮如何將其與各種monad一起使用時, liftM2非常有用。 例如listM2(list1, list2, function)將對list1和list2 (笛卡爾積)中的每對可能的項應用function 。 另一方面,對于可選選項,僅當兩個可選選項均為非空時,它將應用功能。 更好的是,對于Promise monad,當兩個Promise都完成時,將異步執行一個函數。 這意味著我們只是發明了一個簡單的同步機制(分叉聯接算法中的join() ,該同步機制包含兩個異步步驟。

我們可以輕松地在flatMap()之上構建的另一個有用的運算符是filter(Predicate<T>) ,該運算符接收monad內部的所有內容,如果不符合某些謂詞,則將其完全丟棄。 在某種程度上,它類似于map但不是1-to-1映射,而是1-to-0-or-1。 同樣, filter()對于每個monad具有相同的語義,但是取決于我們實際使用的monad,其功能相當驚人。 顯然,它允許從列表中過濾掉某些元素:

FList<Customer> vips = customers.filter(c -> c.totalOrders > 1_000);

但是它也可以正常工作,例如對于可選項目。 在這種情況下,如果可選內容不符合某些條件,我們可以將非空可選內容轉換為空值。 空的可選部分保持不變。

從單子列表到單子列表

另一個來自flatMap()有用運算符是sequence() 。 您只需查看類型簽名即可輕松猜測其作用:

Monad<Iterable<T>> sequence(Iterable<Monad<T>> moands)

通常,我們有一堆相同類型的monad,而我們想要一個具有該類型列表的monad。 對您來說,這聽起來似乎很抽象,但卻非常有用。 想象一下,您想通過ID同時從數據庫中加載一些客戶,因此您多次對不同的ID使用loadCustomer(id)方法,每次調用都返回Promise<Customer> 。 現在,您有了Promise的列表,但您真正想要的是客戶列表,例如要在Web瀏覽器中顯示的客戶列表。 sequence() (在RxJava中sequence()稱為concat()或merge() ,具體取決于用例)是為此目的而構建的:

FList<Promise<Customer>> custPromises = FList.of(1, 2, 3).map(database::loadCustomer);Promise<FList<Customer>> customers = custPromises.sequence();customers.map((FList<Customer> c) -> ...);

通過為每個ID調用database.loadCustomer(id) ,我們可以在其上map一個表示客戶ID的FList<Integer> (您看到FList是一個函子嗎?) 這導致Promise列表非常不便。 sequence()節省了一天的時間,但是再次這不僅是語法糖。 前面的代碼是完全非阻塞的。 對于不同種類的monads, sequence()仍然有意義,但是在不同的計算上下文中。 例如,可以將FList<FOptional<T>>更改為FOptional<FList<T>> 。 順便說一句,您可以在flatMap()之上實現sequence() (就像map()一樣flatMap() 。

一般而言,這只是關于flatMap()和monad有用性的冰山一角。 盡管源于晦澀的類別理論,但即使在Java之類的面向對象的編程語言中,monad也被證明是極其有用的抽象。 能夠組成返回單子函數的函數非常有用,以至于數十個無關的類遵循單子行為。

而且,一旦將數據封裝在monad中,通常很難顯式地將其取出。 這種操作不是monad行為的一部分,并且經常導致非慣用語代碼。 例如, Promise<T>上的Promise.get()可以從技術上返回T ,但是只能通過阻塞來返回,而所有基于flatMap()運算符都是非阻塞的。 另一個示例是FOptional.get()可能會失敗,因為FOptional可能為空。 即使FList.get(idx)從列表偷窺特定元素聽起來很別扭,因為你可以替換for與循環map()經常。

我希望您現在了解為什么單子如此流行。 即使在像Java這樣的面向對象的語言中,它們也是非常有用的抽象。

翻譯自: https://www.javacodegeeks.com/2016/06/functor-monad-examples-plain-java.html

functor

總結

以上是生活随笔為你收集整理的functor_纯Java中的Functor和Monad示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩视频一区二区三区在线播放免费观看 | 黄色一级性片 | 伊人www22综合色 | 欧美男男激情videos | 热久久免费国产视频 | 日韩免费一级电影 | 日韩乱色精品一区二区 | 婷婷色亚洲 | 国产视频高清 | 久久久久亚洲精品男人的天堂 | 青青河边草手机免费 | 999免费视频 | 日韩视频免费在线 | 欧美小视频在线观看 | 久久久久国产精品免费网站 | 91九色视频 | 日韩高清www| 亚洲va天堂va欧美ⅴa在线 | 久草在线视频资源 | 在线观看视频免费大全 | 午夜国产福利在线观看 | 婷婷丁香狠狠爱 | 国产亚洲成av片在线观看 | 亚在线播放中文视频 | 97在线视频免费播放 | 男女啪啪免费网站 | 高潮久久久久久久久 | 久久精品国产一区二区三区 | 久久极品 | 91九色免费视频 | 欧美日韩网址 | 日韩高清黄色 | 久久亚洲私人国产精品 | 五月天婷婷视频 | 欧美一级视频一区 | 久久伦理电影网 | 在线婷婷 | 在线播放 日韩专区 | 香蕉视频18 | 这里只有精品视频在线 | 亚洲欧洲久久久 | 国产专区一 | 在线观看色网站 | www日韩| 久久免费电影网 | 香蕉视频在线免费看 | 成人av电影免费观看 | 日日碰夜夜爽 | 夜夜操综合网 | 欧美日韩在线视频免费 | 韩国三级av在线 | 国产视频 久久久 | av免费网站在线观看 | 一区二区在线影院 | 99精品影视 | 天天噜天天色 | 日韩色高清 | 日韩精品在线免费播放 | 亚洲h视频在线 | 99这里有精品 | 成人久久18免费 | 欧美 亚洲 另类 激情 另类 | 91精品国产自产在线观看永久 | 色婷婷激情四射 | 天天综合网在线 | www免费看片com| 美女黄色网在线播放 | 久久99精品国产99久久 | 精品国产乱码久久久久 | av免费黄色 | 精品一区二区日韩 | 夜夜澡人模人人添人人看 | 在线а√天堂中文官网 | 伊人欧美 | 久久精选 | 国产精品四虎 | 亚洲在线日韩 | 97人人看 | 性色av香蕉一区二区 | 天天干天天玩天天操 | 精品久久久一区二区 | 日韩精品一区二区三区免费观看 | 成人资源在线观看 | 狠狠狠狠狠狠天天爱 | 亚洲综合欧美精品电影 | 国产一区二区久久久久 | 中文字幕中文字幕在线一区 | 国产精品不卡在线播放 | 国产精品自产拍在线观看中文 | 国产精品入口66mio女同 | 五月天婷婷丁香花 | 久久精品国产精品亚洲 | 国产精品高潮呻吟久久av无 | 久久国内精品 | 日韩一区二区免费在线观看 | 93久久精品日日躁夜夜躁欧美 | 久久人网 | 久久精品视频在线观看免费 | 国产小视频在线看 | 日韩中文字幕免费在线播放 | 国产中文字幕在线看 | 国产精品毛片久久久久久久 | 天天干天天射天天操 | 欧美精品一区在线发布 | 国产成人久久精品77777 | 国产成人久久精品 | av电影在线免费观看 | 日日激情| 9999在线 | 丁香久久五月 | 国产精品高潮呻吟久久av无 | 国内视频在线 | 久久99久久久久久 | 久久永久视频 | 国产v在线播放 | 国产精品99久久久久久宅男 | 看全黄大色黄大片 | 一区二区三区日韩精品 | 国产一级久久久 | 国产成人av片 | www夜夜| 99福利影院 | 久久99国产综合精品 | av片在线看| 69国产精品成人在线播放 | 久草久| 一本色道久久综合亚洲二区三区 | av在线播放一区二区三区 | 中文字幕中文字幕 | 视频国产在线观看18 | 天天艹日日干 | 黄色一级大片在线免费看国产一 | 最新av在线免费观看 | 五月婷婷综合激情网 | 久久爱992xxoo | 91av观看| 国产精品美女久久久久久久久 | 一区二区三区av在线 | 日韩四虎 | 欧美一区在线看 | 四虎成人精品 | 丁香电影小说免费视频观看 | 国产成人综合精品 | 日韩一区二区久久 | 天天爽天天爽天天爽 | 日韩免费网址 | 午夜国产一区二区三区四区 | 97视频播放 | 91精品爽啪蜜夜国产在线播放 | 日日夜日日干 | 婷婷久久综合网 | 成人一区二区三区中文字幕 | 玖玖爱在线观看 | 成人黄色国产 | 精品 一区 在线 | 很污的网站 | 欧美一级片在线播放 | 色中色亚洲 | 亚洲午夜精品一区二区三区电影院 | 正在播放国产精品 | 国产精品第二十页 | 丁香花在线观看免费完整版视频 | 亚洲欧美在线视频免费 | 色婷婷激情综合 | 国产精品国产三级国产不产一地 | 成人免费毛片aaaaaa片 | 国产亚洲欧美日韩高清 | 午夜黄色一级片 | 久久视频在线免费观看 | 99精品国产高清在线观看 | 久久精品一区二区 | 一级电影免费在线观看 | 久久久久9999亚洲精品 | 成人av网址大全 | 国产麻豆精品在线观看 | 免费在线观看av片 | 中文字幕在线观看视频一区 | 色五月色开心色婷婷色丁香 | 久久久久久精 | 亚洲人成在线电影 | 亚洲一区日韩 | 久久久久高清毛片一级 | 五月婷婷激情 | 在线免费观看黄色小说 | 99久久这里有精品 | 日本三级吹潮在线 | 九九色视频 | 亚洲综合五月天 | 99re6热在线精品视频 | 午夜12点| 久久这里只有精品1 | 国产精品99页 | 欧美大香线蕉线伊人久久 | 激情久久五月天 | 日产av在线播放 | 欧美一二三区播放 | 人人爱人人射 | 樱空桃av | 婷婷网在线 | 在线免费性生活片 | 九九九视频精品 | 99亚洲精品| 欧美激情第一区 | 日韩免费观看高清 | 久久免费视频99 | 六月激情网 | 99久久一区 | 91丨porny丨九色 | 亚洲精品视频中文字幕 | 免费国产在线精品 | 午夜精品久久久久久久爽 | 成人av影院在线观看 | 久久黄色影视 | 五月婷婷黄色 | av三级在线看 | 国产喷水在线 | 久久神马影院 | 一级片免费在线 | 麻豆视频免费入口 | 国产高清在线观看 | 久久综合九色 | 国产成人精品一区二区 | 97超视频在线观看 | 在线观看国产91 | 国产中文字幕国产 | 97在线公开视频 | 十八岁以下禁止观看的1000个网站 | 又黄又刺激的视频 | 日日日操操 | 久久久私人影院 | 中国美女一级看片 | 亚洲精品777 | 三上悠亚一区二区在线观看 | 二区三区中文字幕 | 久久免费精品视频 | 激情视频国产 | www.狠狠插.com | 欧美少妇的秘密 | 亚洲做受高潮欧美裸体 | 最新av电影网站 | 精品一区二区在线免费观看 | 91久久奴性调教 | 插婷婷 | 精久久久久 | 久艹在线观看视频 | 久久久精品一区二区 | 国产无套精品久久久久久 | 国产午夜亚洲精品 | 91精品视频网站 | 一区二区三区手机在线观看 | 成人午夜电影在线观看 | 丁香婷婷久久 | 亚洲不卡av一区二区三区 | 狠狠综合网 | 免费在线观看的av网站 | 午夜久久久久久久 | 91精品国产入口 | 三级黄色大片在线观看 | 综合国产在线 | 国产成人91 | 午夜久久久精品 | 91最新地址永久入口 | 在线a亚洲视频播放在线观看 | a视频在线播放 | 日韩精品一区二区三区外面 | 国产一区二区高清不卡 | 免费视频久久久 | 国产精品18久久久久久首页狼 | 韩国中文三级 | 久九视频 | 天天爽天天摸 | 日日干狠狠操 | 超碰在线最新网址 | 国产综合片| 国产精品久久久久久久久久99 | 国产片免费在线观看视频 | 国产午夜三级一区二区三桃花影视 | 亚洲午夜不卡 | 午夜久久视频 | 亚洲欧美日韩不卡 | 中国一级片免费看 | 精品久久久久久久久亚洲 | 国产小视频福利在线 | 国内精品久久久久久久久 | 日本中文在线观看 | 色五婷婷 | 成人性生交视频 | 97高清视频 | 超碰在线最新 | 精品 激情 | 中文字幕亚洲精品日韩 | av网站手机在线观看 | 久久成人免费电影 | 国产精品嫩草影院123 | 又色又爽的网站 | 国产在线观看午夜 | 国产美女视频一区 | 丁香一区二区 | 久久永久免费 | 久久久久网站 | 午夜电影av| 手机在线看永久av片免费 | 国产精品美女网站 | 国产中文字幕网 | 天天曰天天干 | 天堂中文在线视频 | 中文字幕在线观看国产 | 免费看日韩 | 日韩精品免费在线观看视频 | 中文字幕a∨在线乱码免费看 | 天天综合成人网 | 亚洲色图av | 久久免费视频在线观看6 | 免费福利在线视频 | 激情综合五月 | 欧美成人性网 | 欧美性生活免费看 | 精品一区二区三区电影 | 欧美贵妇性狂欢 | 99精品视频网站 | 久久精品站 | 国产在线看一区 | 91精品一区国产高清在线gif | 久久国产精品二国产精品中国洋人 | 中文字幕av电影下载 | 婷婷久久五月天 | 九七在线视频 | 天天射天天舔天天干 | 中文字幕日韩伦理 | 国产午夜精品一区二区三区在线观看 | 日韩精品在线观看av | 黄色av电影一级片 | 97成人免费视频 | 天天爱天天操天天爽 | 日韩色综合 | 日韩在线观看视频中文字幕 | 超碰在线日本 | 六月色婷 | 国产精品成人一区二区三区 | 在线免费亚洲 | 97人人射 | 韩国一区二区三区视频 | 国产视频一区二区在线观看 | 91成熟丰满女人少妇 | 国产黄大片在线观看 | 久久久久国产a免费观看rela | 国产美女视频黄a视频免费 久久综合九色欧美综合狠狠 | 亚洲黄色av | 国产玖玖在线 | 精品自拍sae8—视频 | 久久免费黄色 | 日韩欧美高清免费 | 午夜久久久久久久 | 91在线精品视频 | 日韩一区视频在线 | 亚洲精品国久久99热 | 午夜精品久久久久久久久久久久 | 欧美精品在线观看一区 | 日韩免费观看视频 | 国产在线一线 | 国产在线精 | 91成人短视频在线观看 | 国产色综合 | 色婷婷在线播放 | 日本久久久影视 | 国产精品午夜久久久久久99热 | 久久久久久久久电影 | 91精品国自产在线观看 | 欧美成人中文字幕 | 日韩视频中文字幕 | 欧美日韩在线播放 | 国产色秀视频 | 久久久精品成人 | 久久黄色小说 | 色黄视频免费观看 | 99热官网 | 91人网站| 午夜精品久久久久 | 国产午夜麻豆影院在线观看 | 在线视频福利 | 日韩丝袜在线观看 | 99爱视频 | 欧美在线91 | 911精品美国片911久久久 | av蜜桃在线 | av免费片 | 久久久久久久看片 | 久久综合欧美精品亚洲一区 | 超碰免费97| 久久精品小视频 | 黄在线免费看 | 99国产在线视频 | 91成版人在线观看入口 | 天天干天天干天天操 | 久久av一区二区三区亚洲 | 亚洲第一色 | 日韩三级视频 | 九九综合九九 | 伊人av综合 | 精品国产aⅴ一区二区三区 在线直播av | 久久草在线免费 | 亚洲国产最新 | 色a资源在线 | 青草视频网 | 国产国产人免费人成免费视频 | 6080yy午夜一二三区久久 | 精品影院 | 国产精品久久精品 | 日韩在线网 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲视频免费视频 | 日本久久电影网 | 911精品美国片911久久久 | 欧美韩国日本在线 | 天天婷婷| 91麻豆精品| 97av精品 | 超碰97国产在线 | 三级午夜片 | 国产亚洲高清视频 | 国产精品1区2区在线观看 | 日韩精品网址 | 激情开心站 | 日免费视频| 国产h片在线观看 | 日韩在线网址 | 国产一区免费 | 国内精品久久久久影院优 | 夜夜夜 | 国产视频1区2区 | 国产999精品久久久影片官网 | 久草| 国产人成看黄久久久久久久久 | 夜夜爽88888免费视频4848 | 国产一级a毛片视频爆浆 | 51久久成人国产精品麻豆 | 久久er99热精品一区二区三区 | www.五月天婷婷.com | 国产精品电影一区二区 | 中文字幕在线观看网 | 色综合久久久网 | 美女视频免费精品 | 丁香电影小说免费视频观看 | 久久久久黄色 | 国产精品 亚洲精品 | 成人精品视频 | 美女免费电影 | 久久久免费在线观看 | 国产在线精品一区二区三区 | 久久久久久久久久久久久9999 | 日b视频国产 | 亚洲伦理精品 | 欧美日韩三级在线观看 | 亚洲精品乱码久久久久久高潮 | 摸bbb搡bbb搡bbbb | 午夜视频免费在线观看 | 国产黄色免费电影 | 四虎影视精品 | 国产精品18p | 久久久久久久久久免费 | 欧美日韩三级 | 少妇bbbb搡bbbb桶| 在线亚洲高清视频 | 丁香 婷婷 激情 | 日韩欧美视频二区 | 日本性久久 | av电影中文字幕 | avwww在线观看| 丁香六月网| www.av免费| 免费中文字幕视频 | 2018亚洲男人天堂 | 韩日精品在线 | 精品国产一区二区三区男人吃奶 | 日韩中文字幕亚洲一区二区va在线 | 亚洲1区在线 | 五月婷婷黄色 | 精品亚洲国产视频 | 99热精品国产 | 国产精品热视频 | 久久夜视频 | 国产黄色免费看 | av不卡免费在线观看 | 91天堂在线观看 | av电影在线免费观看 | 91成人在线视频 | 亚洲欧洲国产日韩精品 | 久久久久久国产精品免费 | 免费高清av在线看 | 婷婷色网| 97超碰精品 | 中文字幕视频三区 | 成人免费av电影 | 97超碰站| 成人蜜桃视频 | 91精品国产乱码 | 一二三四精品 | 国产精品99久久久精品免费观看 | 人人舔人人干 | 99久久这里有精品 | 91超碰在线播放 | 激情影音| 国产va饥渴难耐女保洁员在线观看 | 亚洲精品合集 | 狠狠久久综合 | 99久久9| 日本一区二区高清不卡 | 日日日爽爽爽 | 亚洲精品乱码久久久久久高潮 | 成人a大片 | 91丨九色丨蝌蚪丨对白 | 亚洲区另类春色综合小说 | 在线中文字幕视频 | 国产第一页福利影院 | 日韩免费一级a毛片在线播放一级 | 天堂av观看 | 国产探花视频在线播放 | 中文字幕乱码电影 | 黄色大全免费观看 | 久久99热精品这里久久精品 | av网站手机在线观看 | 久久 国产一区 | 成人理论在线观看 | 免费观看的黄色片 | 99热只有精品在线观看 | 亚洲第一区在线观看 | 成人黄色电影免费观看 | 99色免费 | 国产在线观看污片 | 久久久国产精品人人片99精片欧美一 | 亚洲午夜久久久久久久久 | 91传媒激情理伦片 | 日韩精品不卡在线 | 久久综合精品国产一区二区三区 | 国产又黄又爽又猛视频日本 | 精品久久久久久久久久久久久久久久久久 | 色综合天天综合在线视频 | 999色视频 | 天天曰天天爽 | 91porny九色91啦中文 | 99视频久久 | 色资源网在线观看 | 国产在线欧美 | 狠狠操影视 | 亚洲国产欧美在线人成大黄瓜 | 日韩中文字幕免费在线播放 | 又黄又爽的视频在线观看网站 | 久久精品在线免费观看 | www.精选视频.com | 国产黄色精品视频 | 日韩精品视频在线观看免费 | 精品久久网站 | 在线观看播放av | 黄色av网站在线观看免费 | 婷婷网站天天婷婷网站 | 色在线免费 | se视频网址 | 国产99久久九九精品 | 粉嫩av一区二区三区四区五区 | 高清视频一区 | 免费看一级特黄a大片 | 成年人在线观看视频免费 | 在线看成人av | 久久婷亚洲五月一区天天躁 | 日韩精品久久久久 | 看黄色.com | 久久 在线| 天天操夜夜干 | 婷婷色站 | 国产白浆在线观看 | 日韩精品久久久久久久电影竹菊 | 国产日韩欧美在线影视 | 色吊丝在线永久观看最新版本 | 亚洲国产小视频在线观看 | 日本精品久久久久 | 成人免费中文字幕 | 日韩在线观看av | 天天天综合网 | 国产精品日韩久久久久 | 99久久日韩精品免费热麻豆美女 | 97超碰人人澡人人爱学生 | 国产精品二区在线观看 | www·22com天天操 | 99精品欧美一区二区三区 | 久久久一本精品99久久精品 | 国产午夜精品一区二区三区欧美 | 中文字幕国产 | 在线三级av | 99久久成人 | www.黄色片.com | 一区二区三区四区精品 | 久久看片网 | 四虎影视av | 久草电影免费在线观看 | 国产高清在线免费观看 | 午夜久久精品 | 国产精品porn| 欧美一区二区三区在线 | 久久男人影院 | 国产精品久久久久久久午夜 | 美女网站色 | 天天鲁一鲁摸一摸爽一爽 | 国产一区二区精品在线 | 美女黄视频免费 | 99精品视频在线免费观看 | 免费欧美 | 亚洲精品乱码久久久久v最新版 | 免费av大片 | 久热色超碰 | 中文字幕免费高 | 911久久香蕉国产线看观看 | 亚洲国产精彩中文乱码av | 9999免费视频 | 精品国产诱惑 | 中文字幕国产精品一区二区 | 亚洲国产午夜 | 五月天综合婷婷 | 四虎国产精品成人免费4hu | 国产日韩欧美网站 | 人人模人人爽 | 国产精品久久久免费 | 国产又黄又爽又猛视频日本 | 国产黄| 99久久精品无免国产免费 | 色婷婷综合久久久久 | 婷婷久久丁香 | 久久综合久久综合久久综合 | 97超在线| 有码一区二区三区 | 欧美极品一区二区三区 | 九九久久久久久久久激情 | 成人在线电影观看 | 国产日韩在线观看一区 | 欧美精品一区二区三区一线天视频 | 久久av一区二区三区亚洲 | 午夜久久美女 | 午夜视频免费 | 五月开心网 | 1024手机看片国产 | 欧美激情综合五月 | 国产人免费人成免费视频 | 五月天综合婷婷 | 欧美色图亚洲图片 | 五月婷婷在线观看 | 亚洲国产天堂av | 免费看黄的视频 | 91av官网| 丝袜美腿亚洲 | 97超在线视频 | 西西大胆免费视频 | 日韩中文字幕a | 亚洲日本韩国一区二区 | 久久福利 | 精品久久久久久国产偷窥 | 婷婷精品国产欧美精品亚洲人人爽 | 色婷婷福利 | 99久久婷婷国产综合亚洲 | 在线 视频 一区二区 | 麻豆91精品 | 日韩精品一区二区电影 | 国产精品美女www爽爽爽视频 | 波多野结衣电影一区二区 | 免费开视频 | 精品在线视频播放 | 久久精品成人热国产成 | 国产精品久久网 | 国产亚洲精品久久 | 91mv.cool在线观看 | 国产在线 一区二区三区 | 高清精品在线 | 免费色视频网址 | 精品在线观看一区二区 | 国产视频资源在线观看 | 精品久久一区二区 | 永久免费精品视频网站 | 日韩四虎| 亚洲综合精品视频 | 亚洲播放一区 | 波多野结衣视频一区二区三区 | 天天干天天干天天色 | 久日精品 | 久久精品网站免费观看 | 99久久精品免费看国产 | 伊人狠狠色 | 香蕉视频18 | 国产不卡精品视频 | a视频免费在线观看 | 最新av观看 | 97超碰人| 日韩大片在线播放 | 97在线免费观看 | 亚洲精品乱码久久久久久久久久 | 亚洲成人精品久久 | 欧美精品乱码久久久久久按摩 | 91看片淫黄大片一级在线观看 | 最近2019年日本中文免费字幕 | 伊人天天操 | 亚洲精品乱码久久久久久按摩 | 久久99热这里只有精品国产 | 久久久18 | 婷婷激情久久 | 久久亚洲国产精品 | 亚洲欧美日本一区二区三区 | 国产成人精品福利 | 91视频免费观看 | 美女黄色网在线播放 | 免费av片在线 | 天天综合网~永久入口 | 国产手机在线播放 | 国产精品久久久久久久久久免费看 | 国产高清亚洲 | 日本资源中文字幕在线 | 国产精品99视频 | 中文字幕91在线 | www.五月天婷婷.com | 香蕉视频在线视频 | 亚洲欧洲国产精品 | 91麻豆免费版 | 欧美日一级片 | 人人爽人人爽人人片av | 色综合久久综合中文综合网 | 日韩欧美在线视频一区二区三区 | 日本成人黄色片 | 九色琪琪久久综合网天天 | 三上悠亚一区二区在线观看 | 国产午夜一区二区 | 日韩久久久久久久 | 91视频com| 黄色三级网站在线观看 | 麻豆免费在线视频 | www.色五月.com | 免费在线国产精品 | 久久精品99视频 | 成人综合婷婷国产精品久久免费 | 久久久久国产精品免费网站 | 精品视频国产一区 | 一本一本久久a久久精品牛牛影视 | 91九色蝌蚪 | 99视频一区二区 | 婷婷久久五月 | 日韩高清一区 | 九九热在线免费观看 | 麻豆久久精品 | 日韩av不卡在线观看 | 在线黄色av电影 | 欧美综合国产 | www.久草视频 | 亚洲成人频道 | free. 性欧美.com| 99久国产| 久久久久国产精品视频 | 久久久精品在线观看 | 五月婷婷激情网 | 国产一区二区日本 | 国产又粗又猛又黄又爽的视频 | 超碰精品在线观看 | 久久久久久高潮国产精品视 | 日韩在线二区 | 国产成人久久精品一区二区三区 | 91.精品高清在线观看 | 337p西西人体大胆瓣开下部 | 国产成人精品一区在线 | 一二三四精品 | 久久久国产精品亚洲一区 | 日韩av成人在线 | 国产成人一区二区精品非洲 | 久久伊人八月婷婷综合激情 | 色综合网 | 国产精品一区二区久久 | 视频二区在线 | 亚洲欧美视频一区二区三区 | 天天爽夜夜操 | 日韩电影一区二区在线观看 | 欧美日韩二区三区 | 伊人亚洲精品 | 欧美国产一区在线 | 日韩一级成人av | 国产麻豆果冻传媒在线观看 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 黄色aaa毛片 | 97国产在线视频 | 国产在线精品国自产拍影院 | 久久精品视频在线免费观看 | 国产免费一区二区三区网站免费 | 国产精品婷婷午夜在线观看 | 国产一区二区在线播放 | 色综合久久悠悠 | 色视频网页| a黄色大片 | 久久理论片| 久久官网 | 手机看片久久 | 91在线看黄| 九九九在线观看 | 免费视频一区二区 | 91麻豆精品国产91久久久久久久久 | 爱干视频 | 日本中文字幕在线视频 | 丁香 婷婷 激情 | 九色精品免费永久在线 | 中文一区在线 | 六月丁香社区 | 天天操天天操天天操天天操天天操天天操 | 色偷偷中文字幕 | 在线观看国产亚洲 | 国产成人在线免费观看 | 免费av网址大全 | 开心激情婷婷 | 国色综合 | 欧美综合在线视频 | 国产九色在线播放九色 | 成人免费在线电影 | 久久爱资源网 | 日日日日干 | 97视频人人免费看 | 一级免费看视频 | 韩国av在线播放 | 99久久婷婷国产 | 欧美精品免费视频 | 久久久久久久毛片 | 久草网站在线观看 | 日产av在线播放 | 亚洲在线色| 免费在线一区二区 | 欧美日韩中文字幕在线视频 | 久久久久国产成人精品亚洲午夜 | 午夜黄色影院 | 夜夜躁日日躁狠狠久久88av | 天天综合网天天综合色 | 欧美日韩国产一区 | 久久免费激情视频 | 亚洲黄色影院 | 国产免费观看av | 久久er99热精品一区二区 | av色网站 | 黄色软件视频大全免费下载 | 久久久久欠精品国产毛片国产毛生 | 日本久久综合网 | 天天爱天天操 | 五月婷婷中文字幕 | 九九视频精品在线 | 久久久精品久久日韩一区综合 | 久草免费在线视频 | 成人精品久久久 | www,黄视频 | 免费av在线播放 | 国产欧美精品xxxx另类 | 天天综合网 天天 | 有没有在线观看av | 日韩xxxxxxxxx| 韩日在线一区 | 国产精品一区专区欧美日韩 | 日韩三级视频 | 色就是色综合 | www日日夜夜 | 成人中文字幕在线 | 久久躁日日躁aaaaxxxx | 日韩在线观看你懂的 | 久久a v电影| 欧美色图视频一区 | 四虎www.| 又色又爽又黄 | 黄色小说在线免费观看 | 九九免费在线看完整版 | 97色噜噜 | 日日操夜 | 日韩高清观看 | 草久在线播放 | 九九久久在线看 | 黄色软件在线看 | 黄色小说18 | 国产精品岛国久久久久久久久红粉 | 国产黄色免费观看 | 国产精品久免费的黄网站 | 91插插影库 | 色婷婷午夜 | 99re8这里有精品热视频免费 | 亚洲专区免费观看 | 久久男人中文字幕资源站 | 亚洲视频 中文字幕 | 丁香久久婷婷 | 天堂av在线7 | 亚洲欧美日本国产 | 日本aa在线 | 婷婷久月| 久久久久免费精品 | 美女精品网站 | 亚洲aⅴ在线观看 | 美女在线国产 | 91在线精品一区二区 | 午夜久久影视 | 91精品视频免费 | 久在线 | 激情视频91 | 国产美女精彩久久 | 黄色免费观看视频 | 六月丁香激情网 | 黄色亚洲精品 | 成年人网站免费在线观看 | 亚洲人成网站精品片在线观看 | 91亚洲精品国产 | 亚洲国产成人精品在线观看 | 欧美成人中文字幕 | 国产精品毛片一区二区在线看 | 久久久精品二区 | 欧美激情视频一二区 | 久久草精品 | 8x成人免费视频 | 日韩有码第一页 | 亚洲国产播放 | 亚洲电影一级黄 | 久久午夜国产精品 | 手机看片国产日韩 | 色香com.| 天天干夜夜操视频 | 国产精品高潮久久av | 狠狠干中文字幕 | 亚洲作爱视频 | 视频在线一区 | 精品99在线观看 | 黄色tv视频 | 成人在线小视频 | 97电影在线 | 亚洲少妇久久 | 久久精品小视频 | 国产一区二区三区网站 | 97在线观看免费视频 | 丁香激情视频 | 久久av免费观看 | 成人久久久电影 | 欧美日韩久 | 91视频久久久久久 | 天堂资源在线观看视频 | 国产区精品在线观看 | 欧美三级在线播放 | 久久久午夜精品理论片中文字幕 | 五月婷婷激情网 | 麻豆91小视频 | 中文字幕在线观看的网站 | 丁香花在线视频观看免费 | 播五月综合 | 四虎4hu永久免费 | 久久99久久99免费视频 | 国产黄色片网站 | 国产色女| 日韩精品一区二区三区视频播放 | 欧美动漫一区二区三区 | a色视频| 国产精品久久久久久久久搜平片 | 成人一区不卡 | 久久夜色精品国产欧美乱 | 国产精品人人做人人爽人人添 | 国产免费嫩草影院 | 成人精品一区二区三区电影免费 | 国产一级视频在线免费观看 | 最近中文字幕视频完整版 | 黄色最新网址 | 最近日本韩国中文字幕 | 亚洲激情婷婷 | avcom在线 | 91看毛片 | 国内精品久久久久久久久久久 | 91成年人网站 | 成人午夜精品 | 黄色小说免费观看 | 欧美日韩另类视频 | 国产在线精品观看 | av不卡网站 | 日韩av在线资源 | 毛片www| 精品999在线 | 人人爽人人澡人人添人人人人 | 久久精品播放 | 中文资源在线官网 | 最近乱久中文字幕 | 久久激情片 | 国产亚洲精品久久久久久电影 | 开心激情综合网 | 久久tv视频| 91网址在线看 | 国产精品美女久久久久久久 | 欧美成人tv | 国产日韩视频在线播放 | 99久久日韩精品免费热麻豆美女 | 国内视频| 成人国产精品免费观看 | 久久深夜福利免费观看 | 91视频在线观看免费 | 亚洲视频每日更新 | 999久久| 欧美黄色成人 | 亚一亚二国产专区 | 婷婷在线免费观看 | 国产精品一区二区久久精品 | av免费在线观看1 | 五月婷婷激情六月 | 国产原创在线视频 | 极品久久久久久久 |