From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8BC8C55196 for ; Fri, 24 Apr 2020 19:33:25 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id BDF0A2075A for ; Fri, 24 Apr 2020 19:33:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KyUgr+NT"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="U7Wb0L9V" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BDF0A2075A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=TmoGX6kDZoii+NIMDmqOHCv33hmXv9wc8eLb8QUcoJo=; b=KyUgr+NTD/IXLR Eakyn1dp+b9xf8ri+Qr8Tr+CSeHsyjyrcr/9eTaehODYRlZCxMI3vxooV4LVgrv+zRqXE3DXGRcgg wpsQnmQYFLhi6+O2Rtu0DjCOYOfB3BdDDZkZ73Cp2uYfKA4EmVWzYJOAc8HGZcid2j9MB/FKKkvqR v9PfuNITOaXByFlPiH3jXHxaDcCtKpeSlqy+rL9EmTWOZJCRDCReR3G52gjPhhu0wfEehaWeW+FXT j7WsZhykZs3vx26lY9j+WSulgLjd+PinKB3yUJV4yjo16cbyBfJMxdR+f7gJXXruwnE1WwHoSwmMo SulDduAeNo3IXzY6wvHg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jS44Z-0007t9-J6; Fri, 24 Apr 2020 19:33:15 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jS44R-0007k2-DF for linux-mediatek@lists.infradead.org; Fri, 24 Apr 2020 19:33:09 +0000 X-UUID: fca100baf6ab452d973ebe26dec3fb49-20200424 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=VcIsUHo7RU6gdFBAcFxKEPXf0pzSoIsBkn54abXIC3Y=; b=U7Wb0L9VGxo11TRQ6qphxsUZI5g7Yzp2Pd0EgNCC338eVIuCQ6j/R+58y1Mup0aHDroBgtIWV8tz+aI83LDGoR51adPJlNE5jD7fTyRW3O0idpJ3as0uVCgLrx1ONcGQAYSTHg5kj/Tk3b16e5R3EUGKe+yg9PP6yu75ATHrcFQ=; X-UUID: fca100baf6ab452d973ebe26dec3fb49-20200424 Received: from mtkcas67.mediatek.inc [(172.29.193.45)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1122282600; Fri, 24 Apr 2020 11:33:04 -0800 Received: from mtkmbs08n1.mediatek.inc (172.21.101.55) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 24 Apr 2020 12:32:59 -0700 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 25 Apr 2020 03:32:45 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 25 Apr 2020 03:32:48 +0800 From: Ryder Lee To: Felix Fietkau , Lorenzo Bianconi Subject: [PATCH v3 00/18] Add MediaTek IEEE 802.11ax devices - MT7915E Date: Sat, 25 Apr 2020 03:32:21 +0800 Message-ID: X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200424_123307_519760_D7675384 X-CRM114-Status: GOOD ( 10.65 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: YF Luo , Evelyn Tsai , linux-wireless@vger.kernel.org, Sean Wang , Chih-Min Chen , Ryder Lee , Yiwei Chung , linux-mediatek@lists.infradead.org, Shayne Chen Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org @Felix, a bit changes and cleanups in v3. Hope this is final one if evevything looks good to you guys. MT7915 supports only basic HE for the moment, whereas other 802.11ax specific features are work in progress. They will be gradually added in upcoming days. The firmwares are available now from https://github.com/ryderlee1110/wireless-fw At last, the developers are all listed in the series. https://www.mediatek.com/blog/mediatek-mt7915-wi-fi-6-wave-1-chipset-builds-in-a-range-of-industry-firsts Changes since v3 - - rebase on top of latest mt76 tree. - adjust timing stuff in mt7915_mac_set_timing. - some cleanups - use FIELD_GET and max_t whenever possible. Changes since v2 - - drop hw_amsdu patch - fix kconfig license - fix debugfs regard to txpower dump issue - swtich to use "per-phy" to set runtime stream caps for dual band concurrent operation. - move omac_idx to mt7915_phy to make it independent - add .get/set_tsf callbacks Changes since v1 - - list a missing developer. - drop unused codes in the hw_tx_amsdu patch. - add a missing bitwidth change of wcid. - add more TODO items in the driver. Ryder Lee (18): mt76: avoid rx reorder buffer overflow mt76: add support for HE RX rate reporting mt76: add Rx stats support for radiotap mt76: adjust wcid size to support new 802.11ax generation mt76: add HE phy modes and hardware queue mt76: add mac80211 driver for MT7915 PCIe-based chipsets mt76: mt7915: enable Rx HE rate reporting mt76: mt7915: implement HE per-rate tx power support mt76: mt7915: register per-phy HE capabilities for each interface mt76: mt7915: add HE bss_conf support for interfaces mt76: mt7915: add HE capabilities support for peers mt76: mt7915: add Rx radiotap header support mt76: mt7915: add .sta_add_debugfs support mt76: mt7915: add .sta_statistics support mt76: mt7915: set peer Tx fixed rate through debugfs mt76: mt7915: add tsf related callbacks mt76: mt7915: enable firmware module debug support mt76: set runtime stream caps by mt76_phy drivers/net/wireless/mediatek/mt76/Kconfig | 1 + drivers/net/wireless/mediatek/mt76/Makefile | 1 + drivers/net/wireless/mediatek/mt76/agg-rx.c | 12 +- drivers/net/wireless/mediatek/mt76/mac80211.c | 26 +- drivers/net/wireless/mediatek/mt76/mt76.h | 46 +- .../net/wireless/mediatek/mt76/mt7615/init.c | 4 +- .../net/wireless/mediatek/mt76/mt7615/main.c | 2 +- .../wireless/mediatek/mt76/mt76x2/pci_main.c | 2 +- .../net/wireless/mediatek/mt76/mt7915/Kconfig | 13 + .../wireless/mediatek/mt76/mt7915/Makefile | 6 + .../wireless/mediatek/mt76/mt7915/debugfs.c | 418 +++ .../net/wireless/mediatek/mt76/mt7915/dma.c | 285 ++ .../wireless/mediatek/mt76/mt7915/eeprom.c | 243 ++ .../wireless/mediatek/mt76/mt7915/eeprom.h | 125 + .../net/wireless/mediatek/mt76/mt7915/init.c | 589 ++++ .../net/wireless/mediatek/mt76/mt7915/mac.c | 1462 +++++++++ .../net/wireless/mediatek/mt76/mt7915/mac.h | 346 +++ .../net/wireless/mediatek/mt76/mt7915/main.c | 831 +++++ .../net/wireless/mediatek/mt76/mt7915/mcu.c | 2764 +++++++++++++++++ .../net/wireless/mediatek/mt76/mt7915/mcu.h | 982 ++++++ .../wireless/mediatek/mt76/mt7915/mt7915.h | 460 +++ .../net/wireless/mediatek/mt76/mt7915/pci.c | 191 ++ .../net/wireless/mediatek/mt76/mt7915/regs.h | 355 +++ 23 files changed, 9132 insertions(+), 32 deletions(-) create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/Kconfig create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/Makefile create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/dma.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/init.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mac.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mac.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/main.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mcu.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/pci.c create mode 100644 drivers/net/wireless/mediatek/mt76/mt7915/regs.h -- 2.18.0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA3B4C54FCB for ; Fri, 24 Apr 2020 19:32:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A0CD72075A for ; Fri, 24 Apr 2020 19:32:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="ETkfFGvw" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729147AbgDXTcy (ORCPT ); Fri, 24 Apr 2020 15:32:54 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:5634 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725970AbgDXTcy (ORCPT ); Fri, 24 Apr 2020 15:32:54 -0400 X-UUID: 81920e4d5c3c46c28fe93577f40443cd-20200425 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=VcIsUHo7RU6gdFBAcFxKEPXf0pzSoIsBkn54abXIC3Y=; b=ETkfFGvwr3+WKQSDng7DcUiQxXxZjdxg/QTE8aO57brGFi0r6q2600teDMonug9gEHnu4Z4EQhucBrr12sy/+VoIeX/03SKLM7+8i2JwaaSxP702CpcZns6FkcKN9FPiePuaKWgYyJuWOx9OzHhYW/8wswfRJqKE2ZB0i97shF8=; X-UUID: 81920e4d5c3c46c28fe93577f40443cd-20200425 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1657406997; Sat, 25 Apr 2020 03:32:51 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 25 Apr 2020 03:32:45 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 25 Apr 2020 03:32:48 +0800 From: Ryder Lee To: Felix Fietkau , Lorenzo Bianconi CC: Shayne Chen , YF Luo , Yiwei Chung , Chih-Min Chen , Evelyn Tsai , Sean Wang , , , Ryder Lee Subject: [PATCH v3 00/18] Add MediaTek IEEE 802.11ax devices - MT7915E Date: Sat, 25 Apr 2020 03:32:21 +0800 Message-ID: X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org QEZlbGl4LCBhIGJpdCBjaGFuZ2VzIGFuZCBjbGVhbnVwcyBpbiB2My4gSG9wZSB0aGlzIGlzIGZp bmFsIG9uZSBpZiBldmV2eXRoaW5nIGxvb2tzIGdvb2QgdG8geW91IGd1eXMuDQoNCk1UNzkxNSBz dXBwb3J0cyBvbmx5IGJhc2ljIEhFIGZvciB0aGUgbW9tZW50LCB3aGVyZWFzIG90aGVyIDgwMi4x MWF4IHNwZWNpZmljDQpmZWF0dXJlcyBhcmUgd29yayBpbiBwcm9ncmVzcy4gVGhleSB3aWxsIGJl IGdyYWR1YWxseSBhZGRlZCBpbiB1cGNvbWluZyBkYXlzLg0KDQpUaGUgZmlybXdhcmVzIGFyZSBh dmFpbGFibGUgbm93IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3J5ZGVybGVlMTExMC93aXJlbGVz cy1mdw0KQXQgbGFzdCwgdGhlIGRldmVsb3BlcnMgYXJlIGFsbCBsaXN0ZWQgaW4gdGhlIHNlcmll cy4NCg0KaHR0cHM6Ly93d3cubWVkaWF0ZWsuY29tL2Jsb2cvbWVkaWF0ZWstbXQ3OTE1LXdpLWZp LTYtd2F2ZS0xLWNoaXBzZXQtYnVpbGRzLWluLWEtcmFuZ2Utb2YtaW5kdXN0cnktZmlyc3RzIA0K DQpDaGFuZ2VzIHNpbmNlIHYzIC0NCi0gcmViYXNlIG9uIHRvcCBvZiBsYXRlc3QgbXQ3NiB0cmVl Lg0KLSBhZGp1c3QgdGltaW5nIHN0dWZmIGluIG10NzkxNV9tYWNfc2V0X3RpbWluZy4NCi0gc29t ZSBjbGVhbnVwcyAtIHVzZSBGSUVMRF9HRVQgYW5kIG1heF90IHdoZW5ldmVyIHBvc3NpYmxlLg0K DQpDaGFuZ2VzIHNpbmNlIHYyIC0NCi0gZHJvcCBod19hbXNkdSBwYXRjaA0KLSBmaXgga2NvbmZp ZyBsaWNlbnNlDQotIGZpeCBkZWJ1Z2ZzIHJlZ2FyZCB0byB0eHBvd2VyIGR1bXAgaXNzdWUNCi0g c3d0aWNoIHRvIHVzZSAicGVyLXBoeSIgdG8gc2V0IHJ1bnRpbWUgc3RyZWFtIGNhcHMgZm9yIGR1 YWwgYmFuZCBjb25jdXJyZW50IG9wZXJhdGlvbi4NCi0gbW92ZSBvbWFjX2lkeCB0byBtdDc5MTVf cGh5IHRvIG1ha2UgaXQgaW5kZXBlbmRlbnQNCi0gYWRkIC5nZXQvc2V0X3RzZiBjYWxsYmFja3MN Cg0KQ2hhbmdlcyBzaW5jZSB2MSAtDQotIGxpc3QgYSBtaXNzaW5nIGRldmVsb3Blci4NCi0gZHJv cCB1bnVzZWQgY29kZXMgaW4gdGhlIGh3X3R4X2Ftc2R1IHBhdGNoLg0KLSBhZGQgYSBtaXNzaW5n IGJpdHdpZHRoIGNoYW5nZSBvZiB3Y2lkLg0KLSBhZGQgbW9yZSBUT0RPIGl0ZW1zIGluIHRoZSBk cml2ZXIuDQoNClJ5ZGVyIExlZSAoMTgpOg0KICBtdDc2OiBhdm9pZCByeCByZW9yZGVyIGJ1ZmZl ciBvdmVyZmxvdw0KICBtdDc2OiBhZGQgc3VwcG9ydCBmb3IgSEUgUlggcmF0ZSByZXBvcnRpbmcN CiAgbXQ3NjogYWRkIFJ4IHN0YXRzIHN1cHBvcnQgZm9yIHJhZGlvdGFwDQogIG10NzY6IGFkanVz dCB3Y2lkIHNpemUgdG8gc3VwcG9ydCBuZXcgODAyLjExYXggZ2VuZXJhdGlvbg0KICBtdDc2OiBh ZGQgSEUgcGh5IG1vZGVzIGFuZCBoYXJkd2FyZSBxdWV1ZQ0KICBtdDc2OiBhZGQgbWFjODAyMTEg ZHJpdmVyIGZvciBNVDc5MTUgUENJZS1iYXNlZCBjaGlwc2V0cw0KICBtdDc2OiBtdDc5MTU6IGVu YWJsZSBSeCBIRSByYXRlIHJlcG9ydGluZw0KICBtdDc2OiBtdDc5MTU6IGltcGxlbWVudCBIRSBw ZXItcmF0ZSB0eCBwb3dlciBzdXBwb3J0DQogIG10NzY6IG10NzkxNTogcmVnaXN0ZXIgcGVyLXBo eSBIRSBjYXBhYmlsaXRpZXMgZm9yIGVhY2ggaW50ZXJmYWNlDQogIG10NzY6IG10NzkxNTogYWRk IEhFIGJzc19jb25mIHN1cHBvcnQgZm9yIGludGVyZmFjZXMNCiAgbXQ3NjogbXQ3OTE1OiBhZGQg SEUgY2FwYWJpbGl0aWVzIHN1cHBvcnQgZm9yIHBlZXJzDQogIG10NzY6IG10NzkxNTogYWRkIFJ4 IHJhZGlvdGFwIGhlYWRlciBzdXBwb3J0DQogIG10NzY6IG10NzkxNTogYWRkIC5zdGFfYWRkX2Rl YnVnZnMgc3VwcG9ydA0KICBtdDc2OiBtdDc5MTU6IGFkZCAuc3RhX3N0YXRpc3RpY3Mgc3VwcG9y dA0KICBtdDc2OiBtdDc5MTU6IHNldCBwZWVyIFR4IGZpeGVkIHJhdGUgdGhyb3VnaCBkZWJ1Z2Zz DQogIG10NzY6IG10NzkxNTogYWRkIHRzZiByZWxhdGVkIGNhbGxiYWNrcw0KICBtdDc2OiBtdDc5 MTU6IGVuYWJsZSBmaXJtd2FyZSBtb2R1bGUgZGVidWcgc3VwcG9ydA0KICBtdDc2OiBzZXQgcnVu dGltZSBzdHJlYW0gY2FwcyBieSBtdDc2X3BoeQ0KDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVk aWF0ZWsvbXQ3Ni9LY29uZmlnICAgIHwgICAgMSArDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVk aWF0ZWsvbXQ3Ni9NYWtlZmlsZSAgIHwgICAgMSArDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVk aWF0ZWsvbXQ3Ni9hZ2ctcnguYyAgIHwgICAxMiArLQ0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL21l ZGlhdGVrL210NzYvbWFjODAyMTEuYyB8ICAgMjYgKy0NCiBkcml2ZXJzL25ldC93aXJlbGVzcy9t ZWRpYXRlay9tdDc2L210NzYuaCAgICAgfCAgIDQ2ICstDQogLi4uL25ldC93aXJlbGVzcy9tZWRp YXRlay9tdDc2L210NzYxNS9pbml0LmMgIHwgICAgNCArLQ0KIC4uLi9uZXQvd2lyZWxlc3MvbWVk aWF0ZWsvbXQ3Ni9tdDc2MTUvbWFpbi5jICB8ICAgIDIgKy0NCiAuLi4vd2lyZWxlc3MvbWVkaWF0 ZWsvbXQ3Ni9tdDc2eDIvcGNpX21haW4uYyAgfCAgICAyICstDQogLi4uL25ldC93aXJlbGVzcy9t ZWRpYXRlay9tdDc2L210NzkxNS9LY29uZmlnIHwgICAxMyArDQogLi4uL3dpcmVsZXNzL21lZGlh dGVrL210NzYvbXQ3OTE1L01ha2VmaWxlICAgIHwgICAgNiArDQogLi4uL3dpcmVsZXNzL21lZGlh dGVrL210NzYvbXQ3OTE1L2RlYnVnZnMuYyAgIHwgIDQxOCArKysNCiAuLi4vbmV0L3dpcmVsZXNz L21lZGlhdGVrL210NzYvbXQ3OTE1L2RtYS5jICAgfCAgMjg1ICsrDQogLi4uL3dpcmVsZXNzL21l ZGlhdGVrL210NzYvbXQ3OTE1L2VlcHJvbS5jICAgIHwgIDI0MyArKw0KIC4uLi93aXJlbGVzcy9t ZWRpYXRlay9tdDc2L210NzkxNS9lZXByb20uaCAgICB8ICAxMjUgKw0KIC4uLi9uZXQvd2lyZWxl c3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvaW5pdC5jICB8ICA1ODkgKysrKw0KIC4uLi9uZXQvd2ly ZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMgICB8IDE0NjIgKysrKysrKysrDQogLi4u L25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tYWMuaCAgIHwgIDM0NiArKysNCiAu Li4vbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21haW4uYyAgfCAgODMxICsrKysr DQogLi4uL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3UuYyAgIHwgMjc2NCAr KysrKysrKysrKysrKysrKw0KIC4uLi9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUv bWN1LmggICB8ICA5ODIgKysrKysrDQogLi4uL3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1 L210NzkxNS5oICAgIHwgIDQ2MCArKysNCiAuLi4vbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYv bXQ3OTE1L3BjaS5jICAgfCAgMTkxICsrDQogLi4uL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2 L210NzkxNS9yZWdzLmggIHwgIDM1NSArKysNCiAyMyBmaWxlcyBjaGFuZ2VkLCA5MTMyIGluc2Vy dGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25l dC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9LY29uZmlnDQogY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L01ha2VmaWxlDQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3 OTE1L2RlYnVnZnMuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC93aXJlbGVzcy9t ZWRpYXRlay9tdDc2L210NzkxNS9kbWEuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25l dC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9lZXByb20uYw0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9lZXByb20uaA0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210 NzkxNS9pbml0LmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVk aWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9uZXQv d2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFjLmgNCiBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWFpbi5jDQogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21j dS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210 NzYvbXQ3OTE1L21jdS5oDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNz L21lZGlhdGVrL210NzYvbXQ3OTE1L210NzkxNS5oDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3BjaS5jDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L3JlZ3MuaA0K DQotLSANCjIuMTguMA0K