From mboxrd@z Thu Jan 1 00:00:00 1970 From: daniel@ffwll.ch (Daniel Vetter) Date: Mon, 9 Apr 2018 10:31:27 +0200 Subject: DRM_UDL and GPU under Xserver In-Reply-To: <1522953580.3977.10.camel@synopsys.com> References: <1522872371.4851.106.camel@synopsys.com> <1522912595.4577.5.camel@synopsys.com> <1522924162.3779.16.camel@pengutronix.de> <1522926602.4587.10.camel@synopsys.com> <20180405134421.GV3881@phenom.ffwll.local> <1522953580.3977.10.camel@synopsys.com> List-ID: Message-ID: <20180409083127.GL31310@phenom.ffwll.local> To: linux-snps-arc@lists.infradead.org On Thu, Apr 05, 2018@06:39:41PM +0000, Alexey Brodkin wrote: > Hi Daniel, all, > > On Thu, 2018-04-05@15:44 +0200, Daniel Vetter wrote: > > On Thu, Apr 05, 2018@11:10:03AM +0000, Alexey Brodkin wrote: > > > Hi Daniel, Lucas, > > > > > > On Thu, 2018-04-05@12:59 +0200, Daniel Vetter wrote: > > > > On Thu, Apr 5, 2018@12:29 PM, Lucas Stach wrote: > > > > > Am Donnerstag, den 05.04.2018, 11:32 +0200 schrieb Daniel Vetter: > > > > > > On Thu, Apr 5, 2018 at 9:16 AM, Alexey Brodkin > > > > > > wrote: > > > > > > > Hi Daniel, > > > > > > > > > > > > > > On Thu, 2018-04-05@08:18 +0200, Daniel Vetter wrote: > > > > > > > > On Wed, Apr 4, 2018 at 10:06 PM, Alexey Brodkin > > > > > > > > wrote: > > > > > > > > > Hello, > > > > > > > > > > > > > > > > > > We're trying to use DisplayLink USB2-to-HDMI adapter to render > > > > > > > > > GPU-accelerated graphics. > > > > > > > > > Hardware setup is as simple as a devboard + DisplayLink > > > > > > > > > adapter. > > > > > > > > > Devboards we use for this experiment are: > > > > > > > > > * Wandboard Quad (based on IMX6 SoC with Vivante GPU) or > > > > > > > > > * HSDK (based on Synopsys ARC HS38 SoC with Vivante GPU as > > > > > > > > > well) > > > > > > > > > > > > > > > > > > I'm sure any other board with DRM supported GPU will work, > > > > > > > > > those we just used > > > > > > > > > as the very recent Linux kernels could be easily run on them > > > > > > > > > both. > > > > > > > > > > > > > > > > > > Basically the problem is UDL needs to be explicitly notified > > > > > > > > > about new data > > > > > > > > > to be rendered on the screen compared to typical bit-streamers > > > > > > > > > that infinitely > > > > > > > > > scan a dedicated buffer in memory. > > > > > > > > > > > > > > > > > > In case of UDL there're just 2 ways for this notification: > > > > > > > > > 1) DRM_IOCTL_MODE_PAGE_FLIP that calls drm_crtc_funcs- > > > > > > > > > > page_flip() > > > > > > > > > > > > > > > > > > 2) DRM_IOCTL_MODE_DIRTYFB that calls drm_framebuffer_funcs- > > > > > > > > > > dirty() > > > > > > > > > > > > > > > > > > But neither of IOCTLs happen when we run Xserver with xf86- > > > > > > > > > video-armada driver > > > > > > > > > (see https://urldefense.proofpoint.com/v2/url?u=http-3A__git.ar > > > > > > > > > m.linux.org.uk_cgit_xf86-2Dvideo-2Darmada.git_log_-3Fh- > > > > > > > > > 3Dunstable-2Ddevel&d=DwIBaQ&; > > > > > > > > > c=DPL6_X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkh > > > > > > > > > pk5R81I&m=oEAlP64L9vkuUs_k3kGwwwlN1WJbDMJbCo0uDhwKwwk&s=3ZHj- > > > > > > > > > 6JXZBLSTWg_4KMnL0VNi7z8c0RxHzj2U5ywVIw&e=). > > > > > > > > > > > > > > > > > > Is it something missing in Xserver or in UDL driver? > > > > > > > > > > > > > > > > Use the -modesetting driverr for UDL, that one works correctly. > > > > > > > > > > > > > > If you're talking about "modesetting" driver of Xserver [1] then > > > > > > > indeed > > > > > > > picture is displayed on the screen. But there I guess won't be any > > > > > > > 3D acceleration. > > > > > > > > > > > > > > At least that's what was suggested to me earlier here [2] by Lucas: > > > > > > > ---------------------------->8--------------------------- > > > > > > > For 3D acceleration to work under X you need the etnaviv specific > > > > > > > DDX > > > > > > > driver, which can be found here: > > > > > > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=http-3A__git.arm.linux.org.uk_cgit_xf86-2Dvideo-2Darmada.git_log_-3Fh-3Dunsta&d=DwIBaQ&c=DPL6_X > > > > > > > _6Jk > > > > > > > XFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=FleDFAQb2lBcZk5DMld7qpeSrB5Srsb4XPQecA5BPvU&s=YUzMQWe3lpC_pjGqRjb4MvRYh16ZBbe > > > > > > > alqf > > > > > > > rywlqjKE&e= > > > > > > > ble-devel > > > > > > > > > > > > You definitely want to use -modesetting for UDL. And I thought with > > > > > > glamour and the corresponding mesa work you should also get > > > > > > accelaration. Insisting that you must use a driver-specific ddx is > > > > > > broken, the world doesn't work like that anymore. > > > > > > > > > > On etnaviv the world definitely still works like this. The etnaviv DDX > > > > > uses the dedicated 2D hardware of the Vivante GPUs, which is much > > > > > faster and efficient than going through Glamor. > > > > > Especially since almost all X accel operations are done on linear > > > > > buffers, while the 3D GPU can only ever do tiled on both sampler and > > > > > render, where some multi-pipe 3D cores can't even read the tiling they > > > > > write out. So Glamor is an endless copy fest using the resolve engine > > > > > on those. > > > > > > > > Ah right, I've forgotten about the vivante 2d cores again. > > > > > > > > > If using etnaviv with UDL is a use-case that need to be supported, one > > > > > would need to port the UDL specifics from -modesetting to the -armada > > > > > DDX. > > > > > > > > I don't think this makes sense. > > > > > > I'm not really sure it has something to do with Etnaviv in particular. > > > Given UDL might be attached to any board with any GPU that would mean we'd > > > need to add those "UDL specifics from -modesetting" in all xf86-video-drivers, > > > right? > > > > X server supports multiple drivers (for different devices) in parallel. > > You should be using armada for the imx-drm thing, and modesetting for udl. > > And through the magic of prime it should even figure out that the device > > > > > > > > Lucas, can you pls clarify? Also, why does -armada bind against all > > > > > > kms drivers, that's probaly too much. > > > > > > > > > > I think that's a local modification done by Alexey. The armada driver > > > > > only binds to armada and imx-drm by default. > > > > > > Actually it all magically works without any modifications. > > > I just start X with the following xorg.conf [1]: > > > ------------------------>8-------------------------- > > > Section "Device" > > > Identifier "Driver0" > > > Screen 0 > > > Driver "armada" > > > EndSection > > > ------------------------>8-------------------------- > > Ok it was quite some time ago so I forgot about that completely. > I really made one trivial change in xf86-video-armada: > ------------------------>8-------------------------- > --- a/src/armada_module.c > +++ b/src/armada_module.c > @@ -26,7 +26,7 @@ > #define ARMADA_NAME "armada" > #define ARMADA_DRIVER_NAME "armada" > > -#define DRM_MODULE_NAMES "armada-drm", "imx-drm" > +#define DRM_MODULE_NAMES "armada-drm", "imx-drm", "udl" > #define DRM_DEFAULT_BUS_ID NULL > ------------------------>8-------------------------- > > Otherwise Xserver fails on start which is expected given "imx-drm" is intentionally removed. You need to keep imx-drm around. And then light up the udl display using prime. Afaiui it should all just work (but with maybe a few disconnected outputs from imx-drm around that you don't need, but that's not a problem). -Daniel > > > > In fact in case of "kmscube" I had to trick Mesa like that: > > > ------------------------>8-------------------------- > > > export MESA_LOADER_DRIVER_OVERRIDE=imx-drm > > > > Yeah this shouldn't be necessary at all. > > > > > ------------------------>8-------------------------- > > > And then UDL out works perfectly fine (that's because "kmscube" > > > explicitly calls drmModePageFlip()). > > > > > > As for Xserver nothing special was done. > > > > > > [1] https://urldefense.proofpoint.com/v2/url?u=http-3A__git.arm.linux.org.uk_cgit_xf86-2Dvideo-2Darmada.git_tree_conf_xorg-2Dsample.conf-3Fh-3Duns > > > table- > > > 2Ddevel&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=lqdeeSSEes0GFDDl656eViXO7breS55ytWkhpk5R81I&m=PGNfmLiN38EmKHzRyuZpX3Lsc9grXsJBx2tkJubl4t0&s=IUChhhP3eD > > > PEiH3QdN6CxhfFaBCZIya0KEWDbCcDtGI&e= > > > > xorg.log is probably more interesting. No idea whether your Xorg.conf > > snippet is needed for armada or not. > > Below is my full Xorg.log output with change above in place: > ------------------------>8-------------------------- > [ 8.941] > X.Org X Server 1.19.6 > Release Date: 2017-12-20 > [ 8.941] X Protocol Version 11, Revision 0 > [ 8.941] Build Operating System: Linux 3.10.0-514.el7.x86_64 x86_64 > [ 8.941] Current Operating System: Linux buildroot 4.16.0 #3 SMP PREEMPT Thu Apr 5 21:28:25 MSK 2018 arc > [ 8.941] Kernel command line: earlycon=uart8250,mmio32,0xf0005000,115200n8 console=ttyS0,115200n8 debug print-fatal-signals=1 drm.debug=0x3f > [ 8.942] Build Date: 05 April 2018 06:48:58PM > [ 8.942] > [ 8.942] Current version of pixman: 0.34.0 > [ 8.942] Before reporting problems, check http://wiki.x.org > to make sure that you have the latest version. > [ 8.942] Markers: (--) probed, (**) from config file, (==) default setting, > (++) from command line, (!!) notice, (II) informational, > (WW) warning, (EE) error, (NI) not implemented, (??) unknown. > [ 8.942] (==) Log file: "/var/log/Xorg.0.log", Time: Thu Jan 1 00:00:08 1970 > [ 8.942] (==) Using config file: "/etc/X11/xorg.conf" > [ 8.942] (==) No Layout section. Using the first Screen section. > [ 8.942] (==) No screen section available. Using defaults. > [ 8.942] (**) |-->Screen "Default Screen Section" (0) > [ 8.942] (**) | |-->Monitor "" > [ 8.944] (==) No device specified for screen "Default Screen Section". > Using the first device section listed. > [ 8.944] (**) | |-->Device "Driver0" > [ 8.944] (==) No monitor specified for screen "Default Screen Section". > Using a default monitor configuration. > [ 8.944] (==) Not automatically adding devices > [ 8.944] (==) Not automatically enabling devices > [ 8.944] (==) Not automatically adding GPU devices > [ 8.944] (==) Max clients allowed: 256, resource mask: 0x1fffff > [ 8.944] (WW) The directory "/usr/share/fonts/X11//TTF/" does not exist. > [ 8.944] Entry deleted from font path. > [ 8.944] (WW) The directory "/usr/share/fonts/X11//OTF/" does not exist. > [ 8.944] Entry deleted from font path. > [ 8.944] (WW) The directory "/usr/share/fonts/X11//Type1/" does not exist. > [ 8.944] Entry deleted from font path. > [ 8.944] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11//100dpi/". > [ 8.944] Entry deleted from font path. > [ 8.945] (Run 'mkfontdir' on "/usr/share/fonts/X11//100dpi/"). > [ 8.945] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/X11//75dpi/". > [ 8.945] Entry deleted from font path. > [ 8.945] (Run 'mkfontdir' on "/usr/share/fonts/X11//75dpi/"). > [ 8.945] (==) FontPath set to: > /usr/share/fonts/X11//misc/ > [ 8.945] (==) ModulePath set to "/usr/lib/xorg/modules" > [ 8.945] (==) |-->Input Device "" > [ 8.945] (==) |-->Input Device "" > [ 8.945] (==) No Layout section. Using the default mouse configuration. > [ 8.945] (==) No Layout section. Using the default keyboard configuration. > [ 8.945] (II) Loader magic: 0x16c510 > [ 8.945] (II) Module ABI versions: > [ 8.945] X.Org ANSI C Emulation: 0.4 > [ 8.945] X.Org Video Driver: 23.0 > [ 8.945] X.Org XInput driver : 24.1 > [ 8.945] X.Org Server Extension : 10.0 > [ 8.945] (II) LoadModule: "armada" > [ 8.946] (II) Loading /usr/lib/xorg/modules/drivers/armada_drv.so > [ 8.947] (II) Module armada: vendor="X.Org Foundation" > [ 8.947] compiled for 1.19.6, module version = 0.0.0 > [ 8.947] Module class: X.Org Video Driver > [ 8.947] ABI class: X.Org Video Driver, version 23.0 > [ 8.947] (II) LoadModule: "mouse" > [ 8.948] (WW) Warning, couldn't open module mouse > [ 8.948] (II) UnloadModule: "mouse" > [ 8.948] (II) Unloading mouse > [ 8.948] (EE) Failed to load module "mouse" (module does not exist, 0) > [ 8.948] (II) LoadModule: "kbd" > [ 8.948] (WW) Warning, couldn't open module kbd > [ 8.948] (II) UnloadModule: "kbd" > [ 8.948] (II) Unloading kbd > [ 8.948] (EE) Failed to load module "kbd" (module does not exist, 0) > [ 8.948] (II) armada: Support for Marvell LCD Controller: 88AP510 > [ 8.948] (II) armada: Support for Freescale IPU: i.MX6 > [ 8.949] (--) using VT number 2 > [ 8.949] (WW) Falling back to old probe method for armada > [ 9.415] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support > [ 9.438] (II) armada(0): hardware: udl > [ 9.438] (II) armada(0): Creating default Display subsection in Screen section > "Default Screen Section" for depth/fbbpp 24/32 > [ 9.438] (==) armada(0): Depth 24, (--) framebuffer bpp 32 > [ 9.438] (==) armada(0): RGB weight 888 > [ 9.438] (==) armada(0): Default visual is TrueColor > [ 9.438] (II) Loading sub module "etnadrm_gpu" > [ 9.438] (II) LoadModule: "etnadrm_gpu" > [ 9.439] (II) Loading /usr/lib/xorg/modules/drivers/etnadrm_gpu.so > [ 9.439] (II) Module Etnaviv GPU driver (DRM): vendor="X.Org Foundation" > [ 9.439] compiled for 1.19.6, module version = 0.0.0 > [ 9.440] ABI class: X.Org ANSI C Emulation, version 0.4 > [ 9.774] (II) armada(0): Output DVI1 has no monitor section > [ 10.069] (II) armada(0): EDID for output DVI1 > [ 10.069] (II) armada(0): Manufacturer: SAM Model: 1bb Serial#: 1212231993 > [ 10.070] (II) armada(0): Year: 2005 Week: 50 > [ 10.070] (II) armada(0): EDID Version: 1.3 > [ 10.070] (II) armada(0): Digital Display Input > [ 10.070] (II) armada(0): Max Image Size [cm]: horiz.: 38 vert.: 30 > [ 10.070] (II) armada(0): Gamma: 2.20 > [ 10.070] (II) armada(0): DPMS capabilities: Off > [ 10.070] (II) armada(0): Supported color encodings: RGB 4:4:4 YCrCb 4:4:4 > [ 10.070] (II) armada(0): First detailed timing is preferred mode > [ 10.070] (II) armada(0): redX: 0.640 redY: 0.329 greenX: 0.300 greenY: 0.600 > [ 10.070] (II) armada(0): blueX: 0.150 blueY: 0.060 whiteX: 0.313 whiteY: 0.329 > [ 10.070] (II) armada(0): Supported established timings: > [ 10.070] (II) armada(0): 720x400 at 70Hz > [ 10.070] (II) armada(0): 640x480 at 60Hz > [ 10.070] (II) armada(0): 640x480 at 67Hz > [ 10.070] (II) armada(0): 640x480 at 72Hz > [ 10.070] (II) armada(0): 640x480 at 75Hz > [ 10.070] (II) armada(0): 800x600 at 56Hz > [ 10.070] (II) armada(0): 800x600 at 60Hz > [ 10.071] (II) armada(0): 800x600 at 72Hz > [ 10.071] (II) armada(0): 800x600 at 75Hz > [ 10.071] (II) armada(0): 832x624 at 75Hz > [ 10.071] (II) armada(0): 1024x768 at 60Hz > [ 10.071] (II) armada(0): 1024x768 at 70Hz > [ 10.071] (II) armada(0): 1024x768 at 75Hz > [ 10.071] (II) armada(0): 1280x1024 at 75Hz > [ 10.071] (II) armada(0): 1152x864 at 75Hz > [ 10.071] (II) armada(0): Manufacturer's mask: 0 > [ 10.071] (II) armada(0): Supported standard timings: > [ 10.071] (II) armada(0): #0: hsize: 1280 vsize 1024 refresh: 60 vid: 32897 > [ 10.071] (II) armada(0): #1: hsize: 1280 vsize 960 refresh: 60 vid: 16513 > [ 10.071] (II) armada(0): #2: hsize: 1152 vsize 864 refresh: 75 vid: 20337 > [ 10.071] (II) armada(0): Supported detailed timing: > [ 10.071] (II) armada(0): clock: 108.0 MHz Image Size: 376 x 301 mm > [ 10.071] (II) armada(0): h_active: 1280 h_sync: 1328 h_sync_end 1440 h_blank_end 1688 h_border: 0 > [ 10.071] (II) armada(0): v_active: 1024 v_sync: 1025 v_sync_end 1028 v_blanking: 1066 v_border: 0 > [ 10.071] (II) armada(0): Ranges: V min: 56 V max: 75 Hz, H min: 30 H max: 81 kHz, PixClock max 145 MHz > [ 10.071] (II) armada(0): Monitor name: SyncMaster > [ 10.071] (II) armada(0): Serial No: HSGYC00767 > [ 10.072] (II) armada(0): EDID (in hex): > [ 10.072] (II) armada(0): 00ffffffffffff004c2dbb0139314148 > [ 10.072] (II) armada(0): 320f010380261e782ade95a3544c9926 > [ 10.072] (II) armada(0): 0f5054bfef8081808140714f01010101 > [ 10.072] (II) armada(0): 010101010101302a009851002a403070 > [ 10.072] (II) armada(0): 1300782d1100001e000000fd00384b1e > [ 10.072] (II) armada(0): 510e000a202020202020000000fc0053 > [ 10.072] (II) armada(0): 796e634d61737465720a2020000000ff > [ 10.072] (II) armada(0): 00485347594330303736370a2020003c > [ 10.072] (II) armada(0): Printing probed modes for output DVI1 > [ 10.072] (II) armada(0): Modeline "1280x1024"x60.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz eP) > [ 10.073] (II) armada(0): Modeline "1280x1024"x75.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz e) > [ 10.073] (II) armada(0): Modeline "1280x960"x60.0 108.00 1280 1376 1488 1800 960 961 964 1000 +hsync +vsync (60.0 kHz e) > [ 10.073] (II) armada(0): Modeline "1152x864"x75.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e) > [ 10.073] (II) armada(0): Modeline "1024x768"x75.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz e) > [ 10.073] (II) armada(0): Modeline "1024x768"x70.1 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz e) > [ 10.073] (II) armada(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e) > [ 10.073] (II) armada(0): Modeline "832x624"x74.6 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz e) > [ 10.073] (II) armada(0): Modeline "800x600"x72.2 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz e) > [ 10.073] (II) armada(0): Modeline "800x600"x75.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz e) > [ 10.074] (II) armada(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e) > [ 10.074] (II) armada(0): Modeline "800x600"x56.3 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e) > [ 10.074] (II) armada(0): Modeline "640x480"x75.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz e) > [ 10.074] (II) armada(0): Modeline "640x480"x72.8 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz e) > [ 10.074] (II) armada(0): Modeline "640x480"x66.7 30.24 640 704 768 864 480 483 486 525 -hsync -vsync (35.0 kHz e) > [ 10.074] (II) armada(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e) > [ 10.074] (II) armada(0): Modeline "720x400"x70.1 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz e) > [ 10.074] (II) armada(0): Output DVI1 connected > [ 10.074] (II) armada(0): Using exact sizes for initial modes > [ 10.074] (II) armada(0): Output DVI1 using initial mode 1280x1024 +0+0 > [ 10.074] (==) armada(0): Using gamma correction (1.0, 1.0, 1.0) > [ 10.074] (==) armada(0): DPI set to (96, 96) > [ 10.075] (II) Loading sub module "fb" > [ 10.075] (II) LoadModule: "fb" > [ 10.075] (II) Loading /usr/lib/xorg/modules/libfb.so > [ 10.076] (II) Module fb: vendor="X.Org Foundation" > [ 10.076] compiled for 1.19.6, module version = 1.0.0 > [ 10.076] ABI class: X.Org ANSI C Emulation, version 0.4 > [ 10.083] (==) Depth 24 pixmap format is 32 bpp > [ 10.125] (==) armada(0): Backing store disabled > [ 10.125] (==) armada(0): Silken mouse enabled > [ 10.243] (--) armada(0): Vivante GC880 GPU revision 5124 (etnaviv) 2d PE2.0 > [ 10.254] (II) armada(0): [DRI2] Setup complete > [ 10.254] (II) armada(0): [DRI2] DRI driver: etnaviv > [ 10.254] (II) armada(0): direct rendering: DRI2 enabled > [ 10.255] (II) armada(0): RandR 1.2 enabled, ignore the following RandR disabled message. > [ 10.306] (==) armada(0): DPMS enabled > [ 10.309] (II) armada(0): etnaviv: Xv: using YUY2 format intermediate YUV target > [ 10.585] (--) RandR disabled > [ 10.618] (II) armada(0): etnaviv: A8 target not supported > [ 10.624] (II) armada(0): Setting screen physical size to 338 x 270 > [ 10.843] (II) LoadModule: "mouse" > [ 10.843] (WW) Warning, couldn't open module mouse > [ 10.843] (II) UnloadModule: "mouse" > [ 10.843] (II) Unloading mouse > [ 10.843] (EE) Failed to load module "mouse" (module does not exist, 0) > [ 10.843] (EE) No input driver matching `mouse' > [ 10.843] (II) Falling back to input driver `libinput' > [ 10.844] (II) LoadModule: "libinput" > [ 10.844] (WW) Warning, couldn't open module libinput > [ 10.844] (II) UnloadModule: "libinput" > [ 10.844] (II) Unloading libinput > [ 10.844] (EE) Failed to load module "libinput" (module does not exist, 0) > [ 10.844] (II) LoadModule: "kbd" > [ 10.845] (WW) Warning, couldn't open module kbd > [ 10.845] (II) UnloadModule: "kbd" > [ 10.845] (II) Unloading kbd > [ 10.845] (EE) Failed to load module "kbd" (module does not exist, 0) > [ 10.845] (EE) No input driver matching `kbd' > [ 10.845] (II) Falling back to input driver `libinput' > [ 10.845] (II) LoadModule: "libinput" > [ 10.845] (WW) Warning, couldn't open module libinput > [ 10.846] (II) UnloadModule: "libinput" > [ 10.846] (II) Unloading libinput > [ 10.846] (EE) Failed to load module "libinput" (module does not exist, 0) > ------------------------>8-------------------------- > > -Alexey -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: DRM_UDL and GPU under Xserver Date: Mon, 9 Apr 2018 10:31:27 +0200 Message-ID: <20180409083127.GL31310@phenom.ffwll.local> References: <1522872371.4851.106.camel@synopsys.com> <1522912595.4577.5.camel@synopsys.com> <1522924162.3779.16.camel@pengutronix.de> <1522926602.4587.10.camel@synopsys.com> <20180405134421.GV3881@phenom.ffwll.local> <1522953580.3977.10.camel@synopsys.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x233.google.com (mail-wm0-x233.google.com [IPv6:2a00:1450:400c:c09::233]) by gabe.freedesktop.org (Postfix) with ESMTPS id 38F986E26D for ; Mon, 9 Apr 2018 08:31:32 +0000 (UTC) Received: by mail-wm0-x233.google.com with SMTP id r131so14822596wmb.2 for ; Mon, 09 Apr 2018 01:31:32 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1522953580.3977.10.camel@synopsys.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alexey Brodkin Cc: "Jose.Abreu@synopsys.com" , "airlied@linux.ie" , "daniel.vetter@ffwll.ch" , "dri-devel@lists.freedesktop.org" , "airlied@redhat.com" , "alexander.deucher@amd.com" , "daniel.vetter@intel.com" , "linux-snps-arc@lists.infradead.org" List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBBcHIgMDUsIDIwMTggYXQgMDY6Mzk6NDFQTSArMDAwMCwgQWxleGV5IEJyb2RraW4g d3JvdGU6Cj4gSGkgRGFuaWVsLCBhbGwsCj4gCj4gT24gVGh1LCAyMDE4LTA0LTA1IGF0IDE1OjQ0 ICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gT24gVGh1LCBBcHIgMDUsIDIwMTggYXQg MTE6MTA6MDNBTSArMDAwMCwgQWxleGV5IEJyb2RraW4gd3JvdGU6Cj4gPiA+IEhpIERhbmllbCwg THVjYXMsCj4gPiA+IAo+ID4gPiBPbiBUaHUsIDIwMTgtMDQtMDUgYXQgMTI6NTkgKzAyMDAsIERh bmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gT24gVGh1LCBBcHIgNSwgMjAxOCBhdCAxMjoyOSBQ TSwgTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+IHdyb3RlOgo+ID4gPiA+ID4g QW0gRG9ubmVyc3RhZywgZGVuIDA1LjA0LjIwMTgsIDExOjMyICswMjAwIHNjaHJpZWIgRGFuaWVs IFZldHRlcjoKPiA+ID4gPiA+ID4gT24gVGh1LCBBcHIgNSwgMjAxOCBhdCA5OjE2IEFNLCBBbGV4 ZXkgQnJvZGtpbgo+ID4gPiA+ID4gPiA8QWxleGV5LkJyb2RraW5Ac3lub3BzeXMuY29tPiB3cm90 ZToKPiA+ID4gPiA+ID4gPiBIaSBEYW5pZWwsCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4g T24gVGh1LCAyMDE4LTA0LTA1IGF0IDA4OjE4ICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ ID4gPiA+ID4gPiA+ID4gT24gV2VkLCBBcHIgNCwgMjAxOCBhdCAxMDowNiBQTSwgQWxleGV5IEJy b2RraW4KPiA+ID4gPiA+ID4gPiA+IDxBbGV4ZXkuQnJvZGtpbkBzeW5vcHN5cy5jb20+IHdyb3Rl Ogo+ID4gPiA+ID4gPiA+ID4gPiBIZWxsbywKPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ ID4gPiA+IFdlJ3JlIHRyeWluZyB0byB1c2UgRGlzcGxheUxpbmsgVVNCMi10by1IRE1JIGFkYXB0 ZXIgdG8gcmVuZGVyCj4gPiA+ID4gPiA+ID4gPiA+IEdQVS1hY2NlbGVyYXRlZCBncmFwaGljcy4K PiA+ID4gPiA+ID4gPiA+ID4gSGFyZHdhcmUgc2V0dXAgaXMgYXMgc2ltcGxlIGFzIGEgZGV2Ym9h cmQgKyBEaXNwbGF5TGluawo+ID4gPiA+ID4gPiA+ID4gPiBhZGFwdGVyLgo+ID4gPiA+ID4gPiA+ ID4gPiBEZXZib2FyZHMgd2UgdXNlIGZvciB0aGlzIGV4cGVyaW1lbnQgYXJlOgo+ID4gPiA+ID4g PiA+ID4gPiAgKiBXYW5kYm9hcmQgUXVhZCAoYmFzZWQgb24gSU1YNiBTb0Mgd2l0aCBWaXZhbnRl IEdQVSkgb3IKPiA+ID4gPiA+ID4gPiA+ID4gICogSFNESyAoYmFzZWQgb24gU3lub3BzeXMgQVJD IEhTMzggU29DIHdpdGggVml2YW50ZSBHUFUgYXMKPiA+ID4gPiA+ID4gPiA+ID4gd2VsbCkKPiA+ ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IEknbSBzdXJlIGFueSBvdGhlciBib2Fy ZCB3aXRoIERSTSBzdXBwb3J0ZWQgR1BVIHdpbGwgd29yaywKPiA+ID4gPiA+ID4gPiA+ID4gdGhv c2Ugd2UganVzdCB1c2VkCj4gPiA+ID4gPiA+ID4gPiA+IGFzIHRoZSB2ZXJ5IHJlY2VudCBMaW51 eCBrZXJuZWxzIGNvdWxkIGJlIGVhc2lseSBydW4gb24gdGhlbQo+ID4gPiA+ID4gPiA+ID4gPiBi b3RoLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gQmFzaWNhbGx5IHRoZSBw cm9ibGVtIGlzIFVETCBuZWVkcyB0byBiZSBleHBsaWNpdGx5IG5vdGlmaWVkCj4gPiA+ID4gPiA+ ID4gPiA+IGFib3V0IG5ldyBkYXRhCj4gPiA+ID4gPiA+ID4gPiA+IHRvIGJlIHJlbmRlcmVkIG9u IHRoZSBzY3JlZW4gY29tcGFyZWQgdG8gdHlwaWNhbCBiaXQtc3RyZWFtZXJzCj4gPiA+ID4gPiA+ ID4gPiA+IHRoYXQgaW5maW5pdGVseQo+ID4gPiA+ID4gPiA+ID4gPiBzY2FuIGEgZGVkaWNhdGVk IGJ1ZmZlciBpbiBtZW1vcnkuCj4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiBJ biBjYXNlIG9mIFVETCB0aGVyZSdyZSBqdXN0IDIgd2F5cyBmb3IgdGhpcyBub3RpZmljYXRpb246 Cj4gPiA+ID4gPiA+ID4gPiA+ICAxKSBEUk1fSU9DVExfTU9ERV9QQUdFX0ZMSVAgdGhhdCBjYWxs cyBkcm1fY3J0Y19mdW5jcy0KPiA+ID4gPiA+ID4gPiA+ID4gPiBwYWdlX2ZsaXAoKQo+ID4gPiA+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gIDIpIERSTV9JT0NUTF9NT0RFX0RJUlRZRkIg dGhhdCBjYWxscyBkcm1fZnJhbWVidWZmZXJfZnVuY3MtCj4gPiA+ID4gPiA+ID4gPiA+ID4gZGly dHkoKQo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gQnV0IG5laXRoZXIgb2Yg SU9DVExzIGhhcHBlbiB3aGVuIHdlIHJ1biBYc2VydmVyIHdpdGggeGY4Ni0KPiA+ID4gPiA+ID4g PiA+ID4gdmlkZW8tYXJtYWRhIGRyaXZlcgo+ID4gPiA+ID4gPiA+ID4gPiAoc2VlIGh0dHBzOi8v dXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLTNBX19naXQuYXIKPiA+ID4g PiA+ID4gPiA+ID4gbS5saW51eC5vcmcudWtfY2dpdF94Zjg2LTJEdmlkZW8tMkRhcm1hZGEuZ2l0 X2xvZ18tM0ZoLQo+ID4gPiA+ID4gPiA+ID4gPiAzRHVuc3RhYmxlLTJEZGV2ZWwmZD1Ed0lCYVEm Owo+ID4gPiA+ID4gPiA+ID4gPiBjPURQTDZfWF82SmtYRng3QVhXcUIwdGcmcj1scWRlZVNTRWVz MEdGRERsNjU2ZVZpWE83YnJlUzU1eXRXa2gKPiA+ID4gPiA+ID4gPiA+ID4gcGs1UjgxSSZtPW9F QWxQNjRMOXZrdVVzX2sza0d3d3dsTjFXSmJETUpiQ28wdURod0t3d2smcz0zWkhqLQo+ID4gPiA+ ID4gPiA+ID4gPiA2SlhaQkxTVFdnXzRLTW5MMFZOaTd6OGMwUnhIemoyVTV5d1ZJdyZlPSkuCj4g PiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gPiBJcyBpdCBzb21ldGhpbmcgbWlzc2lu ZyBpbiBYc2VydmVyIG9yIGluIFVETCBkcml2ZXI/Cj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiA+IFVzZSB0aGUgLW1vZGVzZXR0aW5nIGRyaXZlcnIgZm9yIFVETCwgdGhhdCBvbmUgd29y a3MgY29ycmVjdGx5Lgo+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IElmIHlvdSdyZSB0YWxr aW5nIGFib3V0ICJtb2Rlc2V0dGluZyIgZHJpdmVyIG9mIFhzZXJ2ZXIgWzFdIHRoZW4KPiA+ID4g PiA+ID4gPiBpbmRlZWQKPiA+ID4gPiA+ID4gPiBwaWN0dXJlIGlzIGRpc3BsYXllZCBvbiB0aGUg c2NyZWVuLiBCdXQgdGhlcmUgSSBndWVzcyB3b24ndCBiZSBhbnkKPiA+ID4gPiA+ID4gPiAzRCBh Y2NlbGVyYXRpb24uCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gQXQgbGVhc3QgdGhhdCdz IHdoYXQgd2FzIHN1Z2dlc3RlZCB0byBtZSBlYXJsaWVyIGhlcmUgWzJdIGJ5IEx1Y2FzOgo+ID4g PiA+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ID4gPiA+ID4gPiA+IEZvciAzRCBhY2NlbGVyYXRpb24gdG8gd29yayB1bmRl ciBYIHlvdSBuZWVkIHRoZSBldG5hdml2IHNwZWNpZmljCj4gPiA+ID4gPiA+ID4gRERYCj4gPiA+ ID4gPiA+ID4gZHJpdmVyLCB3aGljaCBjYW4gYmUgZm91bmQgaGVyZToKPiA+ID4gPiA+ID4gPiAK PiA+ID4gPiA+ID4gPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9 aHR0cC0zQV9fZ2l0LmFybS5saW51eC5vcmcudWtfY2dpdF94Zjg2LTJEdmlkZW8tMkRhcm1hZGEu Z2l0X2xvZ18tM0ZoLTNEdW5zdGEmZD1Ed0lCYVEmYz1EUEw2X1gKPiA+ID4gPiA+ID4gPiBfNkpr Cj4gPiA+ID4gPiA+ID4gWEZ4N0FYV3FCMHRnJnI9bHFkZWVTU0VlczBHRkREbDY1NmVWaVhPN2Jy ZVM1NXl0V2tocGs1UjgxSSZtPUZsZURGQVFiMmxCY1prNURNbGQ3cXBlU3JCNVNyc2I0WFBRZWNB NUJQdlUmcz1ZVXpNUVdlM2xwQ19wakdxUmpiNE12UlloMTZaQmJlCj4gPiA+ID4gPiA+ID4gYWxx Zgo+ID4gPiA+ID4gPiA+IHJ5d2xxaktFJmU9Cj4gPiA+ID4gPiA+ID4gYmxlLWRldmVsCj4gPiA+ ID4gPiA+IAo+ID4gPiA+ID4gPiBZb3UgZGVmaW5pdGVseSB3YW50IHRvIHVzZSAtbW9kZXNldHRp bmcgZm9yIFVETC4gQW5kIEkgdGhvdWdodCB3aXRoCj4gPiA+ID4gPiA+IGdsYW1vdXIgYW5kIHRo ZSBjb3JyZXNwb25kaW5nIG1lc2Egd29yayB5b3Ugc2hvdWxkIGFsc28gZ2V0Cj4gPiA+ID4gPiA+ IGFjY2VsYXJhdGlvbi4gSW5zaXN0aW5nIHRoYXQgeW91IG11c3QgdXNlIGEgZHJpdmVyLXNwZWNp ZmljIGRkeCBpcwo+ID4gPiA+ID4gPiBicm9rZW4sIHRoZSB3b3JsZCBkb2Vzbid0IHdvcmsgbGlr ZSB0aGF0IGFueW1vcmUuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IE9uIGV0bmF2aXYgdGhlIHdvcmxk IGRlZmluaXRlbHkgc3RpbGwgd29ya3MgbGlrZSB0aGlzLiBUaGUgZXRuYXZpdiBERFgKPiA+ID4g PiA+IHVzZXMgdGhlIGRlZGljYXRlZCAyRCBoYXJkd2FyZSBvZiB0aGUgVml2YW50ZSBHUFVzLCB3 aGljaCBpcyBtdWNoCj4gPiA+ID4gPiBmYXN0ZXIgYW5kIGVmZmljaWVudCB0aGFuIGdvaW5nIHRo cm91Z2ggR2xhbW9yLgo+ID4gPiA+ID4gRXNwZWNpYWxseSBzaW5jZSBhbG1vc3QgYWxsIFggYWNj ZWwgb3BlcmF0aW9ucyBhcmUgZG9uZSBvbiBsaW5lYXIKPiA+ID4gPiA+IGJ1ZmZlcnMsIHdoaWxl IHRoZSAzRCBHUFUgY2FuIG9ubHkgZXZlciBkbyB0aWxlZCBvbiBib3RoIHNhbXBsZXIgYW5kCj4g PiA+ID4gPiByZW5kZXIsIHdoZXJlIHNvbWUgbXVsdGktcGlwZSAzRCBjb3JlcyBjYW4ndCBldmVu IHJlYWQgdGhlIHRpbGluZyB0aGV5Cj4gPiA+ID4gPiB3cml0ZSBvdXQuIFNvIEdsYW1vciBpcyBh biBlbmRsZXNzIGNvcHkgZmVzdCB1c2luZyB0aGUgcmVzb2x2ZSBlbmdpbmUKPiA+ID4gPiA+IG9u IHRob3NlLgo+ID4gPiA+IAo+ID4gPiA+IEFoIHJpZ2h0LCBJJ3ZlIGZvcmdvdHRlbiBhYm91dCB0 aGUgdml2YW50ZSAyZCBjb3JlcyBhZ2Fpbi4KPiA+ID4gPiAKPiA+ID4gPiA+IElmIHVzaW5nIGV0 bmF2aXYgd2l0aCBVREwgaXMgYSB1c2UtY2FzZSB0aGF0IG5lZWQgdG8gYmUgc3VwcG9ydGVkLCBv bmUKPiA+ID4gPiA+IHdvdWxkIG5lZWQgdG8gcG9ydCB0aGUgVURMIHNwZWNpZmljcyBmcm9tIC1t b2Rlc2V0dGluZyB0byB0aGUgLWFybWFkYQo+ID4gPiA+ID4gRERYLgo+ID4gPiA+IAo+ID4gPiA+ IEkgZG9uJ3QgdGhpbmsgdGhpcyBtYWtlcyBzZW5zZS4KPiA+ID4gCj4gPiA+IEknbSBub3QgcmVh bGx5IHN1cmUgaXQgaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIEV0bmF2aXYgaW4gcGFydGljdWxh ci4KPiA+ID4gR2l2ZW4gVURMIG1pZ2h0IGJlIGF0dGFjaGVkIHRvIGFueSBib2FyZCB3aXRoIGFu eSBHUFUgdGhhdCB3b3VsZCBtZWFuIHdlJ2QKPiA+ID4gbmVlZCB0byBhZGQgdGhvc2UgIlVETCBz cGVjaWZpY3MgZnJvbSAtbW9kZXNldHRpbmciIGluIGFsbCB4Zjg2LXZpZGVvLWRyaXZlcnMsCj4g PiA+IHJpZ2h0Pwo+ID4gCj4gPiBYIHNlcnZlciBzdXBwb3J0cyBtdWx0aXBsZSBkcml2ZXJzIChm b3IgZGlmZmVyZW50IGRldmljZXMpIGluIHBhcmFsbGVsLgo+ID4gWW91IHNob3VsZCBiZSB1c2lu ZyBhcm1hZGEgZm9yIHRoZSBpbXgtZHJtIHRoaW5nLCBhbmQgbW9kZXNldHRpbmcgZm9yIHVkbC4K PiA+IEFuZCB0aHJvdWdoIHRoZSBtYWdpYyBvZiBwcmltZSBpdCBzaG91bGQgZXZlbiBmaWd1cmUg b3V0IHRoYXQgdGhlIGRldmljZQo+ID4gCj4gPiA+ID4gPiA+IEx1Y2FzLCBjYW4geW91IHBscyBj bGFyaWZ5PyBBbHNvLCB3aHkgZG9lcyAtYXJtYWRhIGJpbmQgYWdhaW5zdCBhbGwKPiA+ID4gPiA+ ID4ga21zIGRyaXZlcnMsIHRoYXQncyBwcm9iYWx5IHRvbyBtdWNoLgo+ID4gPiA+ID4gCj4gPiA+ ID4gPiBJIHRoaW5rIHRoYXQncyBhIGxvY2FsIG1vZGlmaWNhdGlvbiBkb25lIGJ5IEFsZXhleS4g VGhlIGFybWFkYSBkcml2ZXIKPiA+ID4gPiA+IG9ubHkgYmluZHMgdG8gYXJtYWRhIGFuZCBpbXgt ZHJtIGJ5IGRlZmF1bHQuCj4gPiA+IAo+ID4gPiBBY3R1YWxseSBpdCBhbGwgbWFnaWNhbGx5IHdv cmtzIHdpdGhvdXQgYW55IG1vZGlmaWNhdGlvbnMuCj4gPiA+IEkganVzdCBzdGFydCBYIHdpdGgg dGhlIGZvbGxvd2luZyB4b3JnLmNvbmYgWzFdOgo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+IFNlY3Rpb24gIkRldmljZSIKPiA+ ID4gCUlkZW50aWZpZXIJIkRyaXZlcjAiCj4gPiA+IAlTY3JlZW4JCTAKPiA+ID4gCURyaXZlcgkJ ImFybWFkYSIKPiA+ID4gRW5kU2VjdGlvbgo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+ OC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gCj4gT2sgaXQgd2FzIHF1aXRlIHNvbWUgdGlt ZSBhZ28gc28gSSBmb3Jnb3QgYWJvdXQgdGhhdCBjb21wbGV0ZWx5Lgo+IEkgcmVhbGx5IG1hZGUg b25lIHRyaXZpYWwgY2hhbmdlIGluIHhmODYtdmlkZW8tYXJtYWRhOgo+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAtLS0gYS9zcmMvYXJtYWRh X21vZHVsZS5jCj4gKysrIGIvc3JjL2FybWFkYV9tb2R1bGUuYwo+IEBAIC0yNiw3ICsyNiw3IEBA Cj4gICNkZWZpbmUgQVJNQURBX05BTUUgICAgICAgICAgICAiYXJtYWRhIgo+ICAjZGVmaW5lIEFS TUFEQV9EUklWRVJfTkFNRSAgICAgImFybWFkYSIKPiAgCj4gLSNkZWZpbmUgRFJNX01PRFVMRV9O QU1FUyAgICAgICAiYXJtYWRhLWRybSIsICJpbXgtZHJtIgo+ICsjZGVmaW5lIERSTV9NT0RVTEVf TkFNRVMgICAgICAgImFybWFkYS1kcm0iLCAiaW14LWRybSIsICJ1ZGwiCj4gICNkZWZpbmUgRFJN X0RFRkFVTFRfQlVTX0lEICAgICBOVUxMCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IAo+IE90aGVyd2lzZSBYc2VydmVyIGZhaWxzIG9uIHN0 YXJ0IHdoaWNoIGlzIGV4cGVjdGVkIGdpdmVuICJpbXgtZHJtIiBpcyBpbnRlbnRpb25hbGx5IHJl bW92ZWQuCgpZb3UgbmVlZCB0byBrZWVwIGlteC1kcm0gYXJvdW5kLiBBbmQgdGhlbiBsaWdodCB1 cCB0aGUgdWRsIGRpc3BsYXkgdXNpbmcKcHJpbWUuIEFmYWl1aSBpdCBzaG91bGQgYWxsIGp1c3Qg d29yayAoYnV0IHdpdGggbWF5YmUgYSBmZXcgZGlzY29ubmVjdGVkCm91dHB1dHMgZnJvbSBpbXgt ZHJtIGFyb3VuZCB0aGF0IHlvdSBkb24ndCBuZWVkLCBidXQgdGhhdCdzIG5vdCBhCnByb2JsZW0p LgotRGFuaWVsCj4gCj4gPiA+IEluIGZhY3QgaW4gY2FzZSBvZiAia21zY3ViZSIgSSBoYWQgdG8g dHJpY2sgTWVzYSBsaWtlIHRoYXQ6Cj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gZXhwb3J0IE1FU0FfTE9BREVSX0RSSVZFUl9P VkVSUklERT1pbXgtZHJtCj4gPiAKPiA+IFllYWggdGhpcyBzaG91bGRuJ3QgYmUgbmVjZXNzYXJ5 IGF0IGFsbC4KPiA+IAo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gPiA+IEFuZCB0aGVuIFVETCBvdXQgd29ya3MgcGVyZmVjdGx5IGZp bmUgKHRoYXQncyBiZWNhdXNlICJrbXNjdWJlIgo+ID4gPiBleHBsaWNpdGx5IGNhbGxzIGRybU1v ZGVQYWdlRmxpcCgpKS4KPiA+ID4gCj4gPiA+IEFzIGZvciBYc2VydmVyIG5vdGhpbmcgc3BlY2lh bCB3YXMgZG9uZS4KPiA+ID4gCj4gPiA+IFsxXSBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2lu dC5jb20vdjIvdXJsP3U9aHR0cC0zQV9fZ2l0LmFybS5saW51eC5vcmcudWtfY2dpdF94Zjg2LTJE dmlkZW8tMkRhcm1hZGEuZ2l0X3RyZWVfY29uZl94b3JnLTJEc2FtcGxlLmNvbmYtM0ZoLTNEdW5z Cj4gPiA+IHRhYmxlLQo+ID4gPiAyRGRldmVsJmQ9RHdJQkFnJmM9RFBMNl9YXzZKa1hGeDdBWFdx QjB0ZyZyPWxxZGVlU1NFZXMwR0ZERGw2NTZlVmlYTzdicmVTNTV5dFdraHBrNVI4MUkmbT1QR05m bUxpTjM4RW1LSHpSeXVacFgzTHNjOWdyWHNKQngydGtKdWJsNHQwJnM9SVVDaGhoUDNlRAo+ID4g PiBQRWlIM1FkTjZDeGhmRmFCQ1pJeWEwS0VXRGJDY0R0R0kmZT0KPiA+IAo+ID4geG9yZy5sb2cg aXMgcHJvYmFibHkgbW9yZSBpbnRlcmVzdGluZy4gTm8gaWRlYSB3aGV0aGVyIHlvdXIgWG9yZy5j b25mCj4gPiBzbmlwcGV0IGlzIG5lZWRlZCBmb3IgYXJtYWRhIG9yIG5vdC4KPiAKPiBCZWxvdyBp cyBteSBmdWxsIFhvcmcubG9nIG91dHB1dCB3aXRoIGNoYW5nZSBhYm92ZSBpbiBwbGFjZToKPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gWyAg ICAgOC45NDFdCj4gWC5PcmcgWCBTZXJ2ZXIgMS4xOS42Cj4gUmVsZWFzZSBEYXRlOiAyMDE3LTEy LTIwCj4gWyAgICAgOC45NDFdIFggUHJvdG9jb2wgVmVyc2lvbiAxMSwgUmV2aXNpb24gMAo+IFsg ICAgIDguOTQxXSBCdWlsZCBPcGVyYXRpbmcgU3lzdGVtOiBMaW51eCAzLjEwLjAtNTE0LmVsNy54 ODZfNjQgeDg2XzY0Cj4gWyAgICAgOC45NDFdIEN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbTogTGlu dXggYnVpbGRyb290IDQuMTYuMCAjMyBTTVAgUFJFRU1QVCBUaHUgQXByIDUgMjE6Mjg6MjUgTVNL IDIwMTggYXJjCj4gWyAgICAgOC45NDFdIEtlcm5lbCBjb21tYW5kIGxpbmU6IGVhcmx5Y29uPXVh cnQ4MjUwLG1taW8zMiwweGYwMDA1MDAwLDExNTIwMG44IGNvbnNvbGU9dHR5UzAsMTE1MjAwbjgg ZGVidWcgcHJpbnQtZmF0YWwtc2lnbmFscz0xIGRybS5kZWJ1Zz0weDNmCj4gWyAgICAgOC45NDJd IEJ1aWxkIERhdGU6IDA1IEFwcmlsIDIwMTggIDA2OjQ4OjU4UE0KPiBbICAgICA4Ljk0Ml0KPiBb ICAgICA4Ljk0Ml0gQ3VycmVudCB2ZXJzaW9uIG9mIHBpeG1hbjogMC4zNC4wCj4gWyAgICAgOC45 NDJdICAgIEJlZm9yZSByZXBvcnRpbmcgcHJvYmxlbXMsIGNoZWNrIGh0dHA6Ly93aWtpLngub3Jn Cj4gICAgICAgICB0byBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSB0aGUgbGF0ZXN0IHZlcnNpb24u Cj4gWyAgICAgOC45NDJdIE1hcmtlcnM6ICgtLSkgcHJvYmVkLCAoKiopIGZyb20gY29uZmlnIGZp bGUsICg9PSkgZGVmYXVsdCBzZXR0aW5nLAo+ICAgICAgICAgKCsrKSBmcm9tIGNvbW1hbmQgbGlu ZSwgKCEhKSBub3RpY2UsIChJSSkgaW5mb3JtYXRpb25hbCwKPiAgICAgICAgIChXVykgd2Fybmlu ZywgKEVFKSBlcnJvciwgKE5JKSBub3QgaW1wbGVtZW50ZWQsICg/PykgdW5rbm93bi4KPiBbICAg ICA4Ljk0Ml0gKD09KSBMb2cgZmlsZTogIi92YXIvbG9nL1hvcmcuMC5sb2ciLCBUaW1lOiBUaHUg SmFuICAxIDAwOjAwOjA4IDE5NzAKPiBbICAgICA4Ljk0Ml0gKD09KSBVc2luZyBjb25maWcgZmls ZTogIi9ldGMvWDExL3hvcmcuY29uZiIKPiBbICAgICA4Ljk0Ml0gKD09KSBObyBMYXlvdXQgc2Vj dGlvbi4gIFVzaW5nIHRoZSBmaXJzdCBTY3JlZW4gc2VjdGlvbi4KPiBbICAgICA4Ljk0Ml0gKD09 KSBObyBzY3JlZW4gc2VjdGlvbiBhdmFpbGFibGUuIFVzaW5nIGRlZmF1bHRzLgo+IFsgICAgIDgu OTQyXSAoKiopIHwtLT5TY3JlZW4gIkRlZmF1bHQgU2NyZWVuIFNlY3Rpb24iICgwKQo+IFsgICAg IDguOTQyXSAoKiopIHwgICB8LS0+TW9uaXRvciAiPGRlZmF1bHQgbW9uaXRvcj4iCj4gWyAgICAg OC45NDRdICg9PSkgTm8gZGV2aWNlIHNwZWNpZmllZCBmb3Igc2NyZWVuICJEZWZhdWx0IFNjcmVl biBTZWN0aW9uIi4KPiAgICAgICAgIFVzaW5nIHRoZSBmaXJzdCBkZXZpY2Ugc2VjdGlvbiBsaXN0 ZWQuCj4gWyAgICAgOC45NDRdICgqKikgfCAgIHwtLT5EZXZpY2UgIkRyaXZlcjAiCj4gWyAgICAg OC45NDRdICg9PSkgTm8gbW9uaXRvciBzcGVjaWZpZWQgZm9yIHNjcmVlbiAiRGVmYXVsdCBTY3Jl ZW4gU2VjdGlvbiIuCj4gICAgICAgICBVc2luZyBhIGRlZmF1bHQgbW9uaXRvciBjb25maWd1cmF0 aW9uLgo+IFsgICAgIDguOTQ0XSAoPT0pIE5vdCBhdXRvbWF0aWNhbGx5IGFkZGluZyBkZXZpY2Vz Cj4gWyAgICAgOC45NDRdICg9PSkgTm90IGF1dG9tYXRpY2FsbHkgZW5hYmxpbmcgZGV2aWNlcwo+ IFsgICAgIDguOTQ0XSAoPT0pIE5vdCBhdXRvbWF0aWNhbGx5IGFkZGluZyBHUFUgZGV2aWNlcwo+ IFsgICAgIDguOTQ0XSAoPT0pIE1heCBjbGllbnRzIGFsbG93ZWQ6IDI1NiwgcmVzb3VyY2UgbWFz azogMHgxZmZmZmYKPiBbICAgICA4Ljk0NF0gKFdXKSBUaGUgZGlyZWN0b3J5ICIvdXNyL3NoYXJl L2ZvbnRzL1gxMS8vVFRGLyIgZG9lcyBub3QgZXhpc3QuCj4gWyAgICAgOC45NDRdICAgIEVudHJ5 IGRlbGV0ZWQgZnJvbSBmb250IHBhdGguCj4gWyAgICAgOC45NDRdIChXVykgVGhlIGRpcmVjdG9y eSAiL3Vzci9zaGFyZS9mb250cy9YMTEvL09URi8iIGRvZXMgbm90IGV4aXN0Lgo+IFsgICAgIDgu OTQ0XSAgICBFbnRyeSBkZWxldGVkIGZyb20gZm9udCBwYXRoLgo+IFsgICAgIDguOTQ0XSAoV1cp IFRoZSBkaXJlY3RvcnkgIi91c3Ivc2hhcmUvZm9udHMvWDExLy9UeXBlMS8iIGRvZXMgbm90IGV4 aXN0Lgo+IFsgICAgIDguOTQ0XSAgICBFbnRyeSBkZWxldGVkIGZyb20gZm9udCBwYXRoLgo+IFsg ICAgIDguOTQ0XSAoV1cpIGBmb250cy5kaXInIG5vdCBmb3VuZCAob3Igbm90IHZhbGlkKSBpbiAi L3Vzci9zaGFyZS9mb250cy9YMTEvLzEwMGRwaS8iLgo+IFsgICAgIDguOTQ0XSAgICBFbnRyeSBk ZWxldGVkIGZyb20gZm9udCBwYXRoLgo+IFsgICAgIDguOTQ1XSAgICAoUnVuICdta2ZvbnRkaXIn IG9uICIvdXNyL3NoYXJlL2ZvbnRzL1gxMS8vMTAwZHBpLyIpLgo+IFsgICAgIDguOTQ1XSAoV1cp IGBmb250cy5kaXInIG5vdCBmb3VuZCAob3Igbm90IHZhbGlkKSBpbiAiL3Vzci9zaGFyZS9mb250 cy9YMTEvLzc1ZHBpLyIuCj4gWyAgICAgOC45NDVdICAgIEVudHJ5IGRlbGV0ZWQgZnJvbSBmb250 IHBhdGguCj4gWyAgICAgOC45NDVdICAgIChSdW4gJ21rZm9udGRpcicgb24gIi91c3Ivc2hhcmUv Zm9udHMvWDExLy83NWRwaS8iKS4KPiBbICAgICA4Ljk0NV0gKD09KSBGb250UGF0aCBzZXQgdG86 Cj4gICAgICAgICAvdXNyL3NoYXJlL2ZvbnRzL1gxMS8vbWlzYy8KPiBbICAgICA4Ljk0NV0gKD09 KSBNb2R1bGVQYXRoIHNldCB0byAiL3Vzci9saWIveG9yZy9tb2R1bGVzIgo+IFsgICAgIDguOTQ1 XSAoPT0pIHwtLT5JbnB1dCBEZXZpY2UgIjxkZWZhdWx0IHBvaW50ZXI+Igo+IFsgICAgIDguOTQ1 XSAoPT0pIHwtLT5JbnB1dCBEZXZpY2UgIjxkZWZhdWx0IGtleWJvYXJkPiIKPiBbICAgICA4Ljk0 NV0gKD09KSBObyBMYXlvdXQgc2VjdGlvbi4gVXNpbmcgdGhlIGRlZmF1bHQgbW91c2UgY29uZmln dXJhdGlvbi4KPiBbICAgICA4Ljk0NV0gKD09KSBObyBMYXlvdXQgc2VjdGlvbi4gVXNpbmcgdGhl IGRlZmF1bHQga2V5Ym9hcmQgY29uZmlndXJhdGlvbi4KPiBbICAgICA4Ljk0NV0gKElJKSBMb2Fk ZXIgbWFnaWM6IDB4MTZjNTEwCj4gWyAgICAgOC45NDVdIChJSSkgTW9kdWxlIEFCSSB2ZXJzaW9u czoKPiBbICAgICA4Ljk0NV0gICAgWC5PcmcgQU5TSSBDIEVtdWxhdGlvbjogMC40Cj4gWyAgICAg OC45NDVdICAgIFguT3JnIFZpZGVvIERyaXZlcjogMjMuMAo+IFsgICAgIDguOTQ1XSAgICBYLk9y ZyBYSW5wdXQgZHJpdmVyIDogMjQuMQo+IFsgICAgIDguOTQ1XSAgICBYLk9yZyBTZXJ2ZXIgRXh0 ZW5zaW9uIDogMTAuMAo+IFsgICAgIDguOTQ1XSAoSUkpIExvYWRNb2R1bGU6ICJhcm1hZGEiCj4g WyAgICAgOC45NDZdIChJSSkgTG9hZGluZyAvdXNyL2xpYi94b3JnL21vZHVsZXMvZHJpdmVycy9h cm1hZGFfZHJ2LnNvCj4gWyAgICAgOC45NDddIChJSSkgTW9kdWxlIGFybWFkYTogdmVuZG9yPSJY Lk9yZyBGb3VuZGF0aW9uIgo+IFsgICAgIDguOTQ3XSAgICBjb21waWxlZCBmb3IgMS4xOS42LCBt b2R1bGUgdmVyc2lvbiA9IDAuMC4wCj4gWyAgICAgOC45NDddICAgIE1vZHVsZSBjbGFzczogWC5P cmcgVmlkZW8gRHJpdmVyCj4gWyAgICAgOC45NDddICAgIEFCSSBjbGFzczogWC5PcmcgVmlkZW8g RHJpdmVyLCB2ZXJzaW9uIDIzLjAKPiBbICAgICA4Ljk0N10gKElJKSBMb2FkTW9kdWxlOiAibW91 c2UiCj4gWyAgICAgOC45NDhdIChXVykgV2FybmluZywgY291bGRuJ3Qgb3BlbiBtb2R1bGUgbW91 c2UKPiBbICAgICA4Ljk0OF0gKElJKSBVbmxvYWRNb2R1bGU6ICJtb3VzZSIKPiBbICAgICA4Ljk0 OF0gKElJKSBVbmxvYWRpbmcgbW91c2UKPiBbICAgICA4Ljk0OF0gKEVFKSBGYWlsZWQgdG8gbG9h ZCBtb2R1bGUgIm1vdXNlIiAobW9kdWxlIGRvZXMgbm90IGV4aXN0LCAwKQo+IFsgICAgIDguOTQ4 XSAoSUkpIExvYWRNb2R1bGU6ICJrYmQiCj4gWyAgICAgOC45NDhdIChXVykgV2FybmluZywgY291 bGRuJ3Qgb3BlbiBtb2R1bGUga2JkCj4gWyAgICAgOC45NDhdIChJSSkgVW5sb2FkTW9kdWxlOiAi a2JkIgo+IFsgICAgIDguOTQ4XSAoSUkpIFVubG9hZGluZyBrYmQKPiBbICAgICA4Ljk0OF0gKEVF KSBGYWlsZWQgdG8gbG9hZCBtb2R1bGUgImtiZCIgKG1vZHVsZSBkb2VzIG5vdCBleGlzdCwgMCkK PiBbICAgICA4Ljk0OF0gKElJKSBhcm1hZGE6IFN1cHBvcnQgZm9yIE1hcnZlbGwgTENEIENvbnRy b2xsZXI6IDg4QVA1MTAKPiBbICAgICA4Ljk0OF0gKElJKSBhcm1hZGE6IFN1cHBvcnQgZm9yIEZy ZWVzY2FsZSBJUFU6IGkuTVg2Cj4gWyAgICAgOC45NDldICgtLSkgdXNpbmcgVlQgbnVtYmVyIDIK PiBbICAgICA4Ljk0OV0gKFdXKSBGYWxsaW5nIGJhY2sgdG8gb2xkIHByb2JlIG1ldGhvZCBmb3Ig YXJtYWRhCj4gWyAgICAgOS40MTVdIChXVykgVkdBIGFyYml0ZXI6IGNhbm5vdCBvcGVuIGtlcm5l bCBhcmJpdGVyLCBubyBtdWx0aS1jYXJkIHN1cHBvcnQKPiBbICAgICA5LjQzOF0gKElJKSBhcm1h ZGEoMCk6IGhhcmR3YXJlOiB1ZGwKPiBbICAgICA5LjQzOF0gKElJKSBhcm1hZGEoMCk6IENyZWF0 aW5nIGRlZmF1bHQgRGlzcGxheSBzdWJzZWN0aW9uIGluIFNjcmVlbiBzZWN0aW9uCj4gICAgICAg ICAiRGVmYXVsdCBTY3JlZW4gU2VjdGlvbiIgZm9yIGRlcHRoL2ZiYnBwIDI0LzMyCj4gWyAgICAg OS40MzhdICg9PSkgYXJtYWRhKDApOiBEZXB0aCAyNCwgKC0tKSBmcmFtZWJ1ZmZlciBicHAgMzIK PiBbICAgICA5LjQzOF0gKD09KSBhcm1hZGEoMCk6IFJHQiB3ZWlnaHQgODg4Cj4gWyAgICAgOS40 MzhdICg9PSkgYXJtYWRhKDApOiBEZWZhdWx0IHZpc3VhbCBpcyBUcnVlQ29sb3IgICAgICAgICAg ICAgICAgICAgICAgICAgIAo+IFsgICAgIDkuNDM4XSAoSUkpIExvYWRpbmcgc3ViIG1vZHVsZSAi ZXRuYWRybV9ncHUiICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgICA5LjQzOF0gKElJ KSBMb2FkTW9kdWxlOiAiZXRuYWRybV9ncHUiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCj4gWyAgICAgOS40MzldIChJSSkgTG9hZGluZyAvdXNyL2xpYi94b3JnL21vZHVsZXMv ZHJpdmVycy9ldG5hZHJtX2dwdS5zbyAgICAgICAgIAo+IFsgICAgIDkuNDM5XSAoSUkpIE1vZHVs ZSBFdG5hdml2IEdQVSBkcml2ZXIgKERSTSk6IHZlbmRvcj0iWC5PcmcgRm91bmRhdGlvbiIgICAg ICAgICAgICAgIAo+IFsgICAgIDkuNDM5XSAgICBjb21waWxlZCBmb3IgMS4xOS42LCBtb2R1bGUg dmVyc2lvbiA9IDAuMC4wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgIDku NDQwXSAgICBBQkkgY2xhc3M6IFguT3JnIEFOU0kgQyBFbXVsYXRpb24sIHZlcnNpb24gMC40ICAg ICAgICAgICAgICAgICAgIAo+IFsgICAgIDkuNzc0XSAoSUkpIGFybWFkYSgwKTogT3V0cHV0IERW STEgaGFzIG5vIG1vbml0b3Igc2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAg ICAxMC4wNjldIChJSSkgYXJtYWRhKDApOiBFRElEIGZvciBvdXRwdXQgRFZJMSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA2OV0gKElJKSBhcm1hZGEo MCk6IE1hbnVmYWN0dXJlcjogU0FNICBNb2RlbDogMWJiICBTZXJpYWwjOiAxMjEyMjMxOTkzCj4g WyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiBZZWFyOiAyMDA1ICBXZWVrOiA1MCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3MF0gKElJKSBhcm1hZGEoMCk6IEVESUQg VmVyc2lvbjogMS4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAx MC4wNzBdIChJSSkgYXJtYWRhKDApOiBEaWdpdGFsIERpc3BsYXkgSW5wdXQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiBNYXgg SW1hZ2UgU2l6ZSBbY21dOiBob3Jpei46IDM4ICB2ZXJ0LjogMzAgICAgICAgICAgICAgCj4gWyAg ICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiBHYW1tYTogMi4yMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiBE UE1TIGNhcGFiaWxpdGllczogT2ZmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4g WyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiBTdXBwb3J0ZWQgY29sb3IgZW5jb2RpbmdzOiBS R0IgNDo0OjQgWUNyQ2IgNDo0OjQgICAgICAgCj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDAp OiBGaXJzdCBkZXRhaWxlZCB0aW1pbmcgaXMgcHJlZmVycmVkIG1vZGUgICAgICAgICAgICAgICAg Cj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiByZWRYOiAwLjY0MCByZWRZOiAwLjMyOSAg IGdyZWVuWDogMC4zMDAgZ3JlZW5ZOiAwLjYwMCAgCj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRh KDApOiBibHVlWDogMC4xNTAgYmx1ZVk6IDAuMDYwICAgd2hpdGVYOiAwLjMxMyB3aGl0ZVk6IDAu MzI5Cj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiBTdXBwb3J0ZWQgZXN0YWJsaXNoZWQg dGltaW5nczogICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3MF0gKElJKSBhcm1hZGEoMCk6 IDcyMHg0MDBANzBIeiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsg ICAgMTAuMDcwXSAoSUkpIGFybWFkYSgwKTogNjQweDQ4MEA2MEh6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3MF0gKElJKSBhcm1hZGEoMCk6IDY0 MHg0ODBANjdIeiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBb ICAgIDEwLjA3MF0gKElJKSBhcm1hZGEoMCk6IDY0MHg0ODBANzJIeiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiA2NDB4NDgw QDc1SHogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzBd IChJSSkgYXJtYWRhKDApOiA4MDB4NjAwQDU2SHogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCj4gWyAgICAxMC4wNzBdIChJSSkgYXJtYWRhKDApOiA4MDB4NjAwQDYwSHogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4w NzFdIChJSSkgYXJtYWRhKDApOiA4MDB4NjAwQDcySHogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiA4 MDB4NjAwQDc1SHogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCj4gWyAgICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiA4MzJ4NjI0QDc1SHogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3MV0gKElJ KSBhcm1hZGEoMCk6IDEwMjR4NzY4QDYwSHogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMDcxXSAoSUkpIGFybWFkYSgwKTogMTAyNHg3NjhA NzBIeiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAg ICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiAxMDI0eDc2OEA3NUh6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiAxMjgw eDEwMjRANzVIeiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAx MC4wNzFdIChJSSkgYXJtYWRhKDApOiAxMTUyeDg2NEA3NUh6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiBNYW51ZmFj dHVyZXIncyBtYXNrOiAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAo+IFsgICAgMTAuMDcxXSAoSUkpIGFybWFkYSgwKTogU3VwcG9ydGVkIHN0YW5k YXJkIHRpbWluZ3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKPiBbICAgIDEwLjA3MV0gKElJKSBhcm1hZGEoMCk6ICMwOiBoc2l6ZTogMTI4MCAgdnNpemUg MTAyNCAgcmVmcmVzaDogNjAgIHZpZDogMzI4OTcgICAgICAgICAgICAgICAgICAgICAgICAgCj4g WyAgICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiAjMTogaHNpemU6IDEyODAgIHZzaXplIDk2MCAg cmVmcmVzaDogNjAgIHZpZDogMTY1MTMgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAg MTAuMDcxXSAoSUkpIGFybWFkYSgwKTogIzI6IGhzaXplOiAxMTUyICB2c2l6ZSA4NjQgIHJlZnJl c2g6IDc1ICB2aWQ6IDIwMzM3ICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3 MV0gKElJKSBhcm1hZGEoMCk6IFN1cHBvcnRlZCBkZXRhaWxlZCB0aW1pbmc6ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzFdIChJ SSkgYXJtYWRhKDApOiBjbG9jazogMTA4LjAgTUh6ICAgSW1hZ2UgU2l6ZTogIDM3NiB4IDMwMSBt bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMDcxXSAoSUkpIGFy bWFkYSgwKTogaF9hY3RpdmU6IDEyODAgIGhfc3luYzogMTMyOCAgaF9zeW5jX2VuZCAxNDQwIGhf YmxhbmtfZW5kIDE2ODggaF9ib3JkZXI6IDAgICAKPiBbICAgIDEwLjA3MV0gKElJKSBhcm1hZGEo MCk6IHZfYWN0aXZlOiAxMDI0ICB2X3N5bmM6IDEwMjUgIHZfc3luY19lbmQgMTAyOCB2X2JsYW5r aW5nOiAxMDY2IHZfYm9yZGVyOiAwICAgCj4gWyAgICAxMC4wNzFdIChJSSkgYXJtYWRhKDApOiBS YW5nZXM6IFYgbWluOiA1NiBWIG1heDogNzUgSHosIEggbWluOiAzMCBIIG1heDogODEga0h6LCBQ aXhDbG9jayBtYXggMTQ1IE1Iego+IFsgICAgMTAuMDcxXSAoSUkpIGFybWFkYSgwKTogTW9uaXRv ciBuYW1lOiBTeW5jTWFzdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAg MTAuMDcxXSAoSUkpIGFybWFkYSgwKTogU2VyaWFsIE5vOiBIU0dZQzAwNzY3ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3Ml0g KElJKSBhcm1hZGEoMCk6IEVESUQgKGluIGhleCk6ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzJdIChJSSkgYXJt YWRhKDApOiAgICAwMGZmZmZmZmZmZmZmZjAwNGMyZGJiMDEzOTMxNDE0OCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMDcyXSAoSUkpIGFybWFkYSgw KTogICAgMzIwZjAxMDM4MDI2MWU3ODJhZGU5NWEzNTQ0Yzk5MjYgIAo+IFsgICAgMTAuMDcyXSAo SUkpIGFybWFkYSgwKTogICAgMGY1MDU0YmZlZjgwODE4MDgxNDA3MTRmMDEwMTAxMDEgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAo+IFsgICAgMTAuMDcyXSAoSUkpIGFybWFkYSgwKTogICAgMDEwMTAxMDEwMTAxMzAyYTAw OTg1MTAwMmE0MDMwNzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMDcyXSAoSUkpIGFybWFkYSgwKTog ICAgMTMwMDc4MmQxMTAwMDAxZTAwMDAwMGZkMDAzODRiMWUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAu MDcyXSAoSUkpIGFybWFkYSgwKTogICAgNTEwZTAwMGEyMDIwMjAyMDIwMjAwMDAwMDBmYzAwNTMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAo+IFsgICAgMTAuMDcyXSAoSUkpIGFybWFkYSgwKTogICAgNzk2ZTYzNGQ2MTcz NzQ2NTcyMGEyMDIwMDAwMDAwZmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMDcyXSAoSUkpIGFybWFk YSgwKTogICAgMDA0ODUzNDc1OTQzMzAzMDM3MzYzNzBhMjAyMDAwM2MgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsg ICAgMTAuMDcyXSAoSUkpIGFybWFkYSgwKTogUHJpbnRpbmcgcHJvYmVkIG1vZGVzIGZvciBvdXRw dXQgRFZJMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMDcyXSAoSUkpIGFybWFkYSgwKTogTW9kZWxpbmUg IjEyODB4MTAyNCJ4NjAuMCAgMTA4LjAwICAxMjgwIDEzMjggMTQ0MCAxNjg4ICAxMDI0IDEwMjUg MTAyOCAxMDY2ICtoc3luYyArdnN5bmMgKDY0LjAga0h6IGVQKQo+IFsgICAgMTAuMDczXSAoSUkp IGFybWFkYSgwKTogTW9kZWxpbmUgIjEyODB4MTAyNCJ4NzUuMCAgMTM1LjAwICAxMjgwIDEyOTYg MTQ0MCAxNjg4ICAxMDI0IDEwMjUgMTAyOCAxMDY2ICtoc3luYyArdnN5bmMgKDgwLjAga0h6IGUp Cj4gWyAgICAxMC4wNzNdIChJSSkgYXJtYWRhKDApOiBNb2RlbGluZSAiMTI4MHg5NjAieDYwLjAg IDEwOC4wMCAgMTI4MCAxMzc2IDE0ODggMTgwMCAgOTYwIDk2MSA5NjQgMTAwMCAraHN5bmMgK3Zz eW5jICg2MC4wIGtIeiBlKQo+IFsgICAgMTAuMDczXSAoSUkpIGFybWFkYSgwKTogTW9kZWxpbmUg IjExNTJ4ODY0Ing3NS4wICAxMDguMDAgIDExNTIgMTIxNiAxMzQ0IDE2MDAgIDg2NCA4NjUgODY4 IDkwMCAraHN5bmMgK3ZzeW5jICg2Ny41IGtIeiBlKQo+IFsgICAgMTAuMDczXSAoSUkpIGFybWFk YSgwKTogTW9kZWxpbmUgIjEwMjR4NzY4Ing3NS4wICAgNzguNzUgIDEwMjQgMTA0MCAxMTM2IDEz MTIgIDc2OCA3NjkgNzcyIDgwMCAraHN5bmMgK3ZzeW5jICg2MC4wIGtIeiBlKSAgICAgIAo+IFsg ICAgMTAuMDczXSAoSUkpIGFybWFkYSgwKTogTW9kZWxpbmUgIjEwMjR4NzY4Ing3MC4xICAgNzUu MDAgIDEwMjQgMTA0OCAxMTg0IDEzMjggIDc2OCA3NzEgNzc3IDgwNiAtaHN5bmMgLXZzeW5jICg1 Ni41IGtIeiBlKSAgICAgCj4gWyAgICAxMC4wNzNdIChJSSkgYXJtYWRhKDApOiBNb2RlbGluZSAi MTAyNHg3NjgieDYwLjAgICA2NS4wMCAgMTAyNCAxMDQ4IDExODQgMTM0NCAgNzY4IDc3MSA3Nzcg ODA2IC1oc3luYyAtdnN5bmMgKDQ4LjQga0h6IGUpIAo+IFsgICAgMTAuMDczXSAoSUkpIGFybWFk YSgwKTogTW9kZWxpbmUgIjgzMng2MjQieDc0LjYgICA1Ny4yOCAgODMyIDg2NCA5MjggMTE1MiAg NjI0IDYyNSA2MjggNjY3IC1oc3luYyAtdnN5bmMgKDQ5Ljcga0h6IGUpICAgIAo+IFsgICAgMTAu MDczXSAoSUkpIGFybWFkYSgwKTogTW9kZWxpbmUgIjgwMHg2MDAieDcyLjIgICA1MC4wMCAgODAw IDg1NiA5NzYgMTA0MCAgNjAwIDYzNyA2NDMgNjY2ICtoc3luYyArdnN5bmMgKDQ4LjEga0h6IGUp ICAgIAo+IFsgICAgMTAuMDczXSAoSUkpIGFybWFkYSgwKTogTW9kZWxpbmUgIjgwMHg2MDAieDc1 LjAgICA0OS41MCAgODAwIDgxNiA4OTYgMTA1NiAgNjAwIDYwMSA2MDQgNjI1ICtoc3luYyArdnN5 bmMgKDQ2Ljkga0h6IGUpICAgIAo+IFsgICAgMTAuMDc0XSAoSUkpIGFybWFkYSgwKTogTW9kZWxp bmUgIjgwMHg2MDAieDYwLjMgICA0MC4wMCAgODAwIDg0MCA5NjggMTA1NiAgNjAwIDYwMSA2MDUg NjI4ICtoc3luYyArdnN5bmMgKDM3Ljkga0h6IGUpICAgIAo+IFsgICAgMTAuMDc0XSAoSUkpIGFy bWFkYSgwKTogTW9kZWxpbmUgIjgwMHg2MDAieDU2LjMgICAzNi4wMCAgODAwIDgyNCA4OTYgMTAy NCAgNjAwIDYwMSA2MDMgNjI1ICtoc3luYyArdnN5bmMgKDM1LjIga0h6IGUpCj4gWyAgICAxMC4w NzRdIChJSSkgYXJtYWRhKDApOiBNb2RlbGluZSAiNjQweDQ4MCJ4NzUuMCAgIDMxLjUwICA2NDAg NjU2IDcyMCA4NDAgIDQ4MCA0ODEgNDg0IDUwMCAtaHN5bmMgLXZzeW5jICgzNy41IGtIeiBlKSAK PiBbICAgIDEwLjA3NF0gKElJKSBhcm1hZGEoMCk6IE1vZGVsaW5lICI2NDB4NDgwIng3Mi44ICAg MzEuNTAgIDY0MCA2NjQgNzA0IDgzMiAgNDgwIDQ4OSA0OTIgNTIwIC1oc3luYyAtdnN5bmMgKDM3 Ljkga0h6IGUpIAo+IFsgICAgMTAuMDc0XSAoSUkpIGFybWFkYSgwKTogTW9kZWxpbmUgIjY0MHg0 ODAieDY2LjcgICAzMC4yNCAgNjQwIDcwNCA3NjggODY0ICA0ODAgNDgzIDQ4NiA1MjUgLWhzeW5j IC12c3luYyAoMzUuMCBrSHogZSkgCj4gWyAgICAxMC4wNzRdIChJSSkgYXJtYWRhKDApOiBNb2Rl bGluZSAiNjQweDQ4MCJ4NTkuOSAgIDI1LjE4ICA2NDAgNjU2IDc1MiA4MDAgIDQ4MCA0OTAgNDky IDUyNSAtaHN5bmMgLXZzeW5jICgzMS41IGtIeiBlKSAKPiBbICAgIDEwLjA3NF0gKElJKSBhcm1h ZGEoMCk6IE1vZGVsaW5lICI3MjB4NDAwIng3MC4xICAgMjguMzIgIDcyMCA3MzggODQ2IDkwMCAg NDAwIDQxMiA0MTQgNDQ5IC1oc3luYyArdnN5bmMgKDMxLjUga0h6IGUpCj4gWyAgICAxMC4wNzRd IChJSSkgYXJtYWRhKDApOiBPdXRwdXQgRFZJMSBjb25uZWN0ZWQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzRdIChJSSkgYXJtYWRhKDApOiBVc2lu ZyBleGFjdCBzaXplcyBmb3IgaW5pdGlhbCBtb2RlcyAgICAgICAgICAgICAgICAgICAgICAgICAg Cj4gWyAgICAxMC4wNzRdIChJSSkgYXJtYWRhKDApOiBPdXRwdXQgRFZJMSB1c2luZyBpbml0aWFs IG1vZGUgMTI4MHgxMDI0ICswKzAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzRdICg9PSkg YXJtYWRhKDApOiBVc2luZyBnYW1tYSBjb3JyZWN0aW9uICgxLjAsIDEuMCwgMS4wKSAgICAgICAg ICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3NF0gKD09KSBhcm1hZGEoMCk6IERQSSBzZXQgdG8g KDk2LCA5NikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAg MTAuMDc1XSAoSUkpIExvYWRpbmcgc3ViIG1vZHVsZSAiZmIiICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzVdIChJSSkgTG9hZE1vZHVs ZTogImZiIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4g WyAgICAxMC4wNzVdIChJSSkgTG9hZGluZyAvdXNyL2xpYi94b3JnL21vZHVsZXMvbGliZmIuc28g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4wNzZdIChJSSkgTW9kdWxlIGZiOiB2ZW5kb3I9 IlguT3JnIEZvdW5kYXRpb24iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjA3Nl0gICAg Y29tcGlsZWQgZm9yIDEuMTkuNiwgbW9kdWxlIHZlcnNpb24gPSAxLjAuMCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4g WyAgICAxMC4wNzZdICAgIEFCSSBjbGFzczogWC5PcmcgQU5TSSBDIEVtdWxhdGlvbiwgdmVyc2lv biAwLjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCj4gWyAgICAxMC4wODNdICg9PSkgRGVwdGggMjQgcGl4bWFwIGZvcm1hdCBp cyAzMiBicHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4xMjVdICg9PSkgYXJtYWRhKDAp OiBCYWNraW5nIHN0b3JlIGRpc2FibGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4xMjVd ICg9PSkgYXJtYWRhKDApOiBTaWxrZW4gbW91c2UgZW5hYmxlZCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Cj4gWyAgICAxMC4yNDNdICgtLSkgYXJtYWRhKDApOiBWaXZhbnRlIEdDODgwIEdQVSByZXZpc2lv biA1MTI0IChldG5hdml2KSAyZCBQRTIuMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKPiBbICAgIDEwLjI1NF0gKElJKSBhcm1hZGEoMCk6IFtEUkkyXSBTZXR1cCBj b21wbGV0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuMjU0XSAoSUkpIGFybWFkYSgwKTogW0RS STJdICAgRFJJIGRyaXZlcjogZXRuYXZpdiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC4yNTRdIChJSSkgYXJt YWRhKDApOiBkaXJlY3QgcmVuZGVyaW5nOiBEUkkyIGVuYWJsZWQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjI1 NV0gKElJKSBhcm1hZGEoMCk6IFJhbmRSIDEuMiBlbmFibGVkLCBpZ25vcmUgdGhlIGZvbGxvd2lu ZyBSYW5kUiBkaXNhYmxlZCBtZXNzYWdlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ IFsgICAgMTAuMzA2XSAoPT0pIGFybWFkYSgwKTogRFBNUyBlbmFibGVkICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKPiBbICAgIDEwLjMwOV0gKElJKSBhcm1hZGEoMCk6IGV0bmF2aXY6IFh2OiB1c2lu ZyBZVVkyIGZvcm1hdCBpbnRlcm1lZGlhdGUgWVVWIHRhcmdldCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC41ODVdICgtLSkgUmFuZFIgZGlzYWJsZWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuNjE4XSAoSUkpIGFybWFkYSgw KTogZXRuYXZpdjogQTggdGFyZ2V0IG5vdCBzdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjYyNF0gKElJ KSBhcm1hZGEoMCk6IFNldHRpbmcgc2NyZWVuIHBoeXNpY2FsIHNpemUgdG8gMzM4IHggMjcwICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAx MC44NDNdIChJSSkgTG9hZE1vZHVsZTogIm1vdXNlIiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCj4gWyAgICAxMC44NDNdIChXVykgV2FybmluZywgY291bGRuJ3Qgb3BlbiBt b2R1bGUgbW91c2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDNdIChJSSkgVW5s b2FkTW9kdWxlOiAibW91c2UiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4g WyAgICAxMC44NDNdIChJSSkgVW5sb2FkaW5nIG1vdXNlICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDNdIChFRSkgRmFpbGVkIHRvIGxvYWQgbW9k dWxlICJtb3VzZSIgKG1vZHVsZSBkb2VzIG5vdCBleGlzdCwgMCkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDNdIChF RSkgTm8gaW5wdXQgZHJpdmVyIG1hdGNoaW5nIGBtb3VzZScgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCj4gWyAgICAxMC44NDNdIChJSSkgRmFsbGluZyBiYWNrIHRvIGlucHV0IGRyaXZlciBgbGli aW5wdXQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDRdIChJSSkgTG9hZE1vZHVsZTog ImxpYmlucHV0IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44 NDRdIChXVykgV2FybmluZywgY291bGRuJ3Qgb3BlbiBtb2R1bGUgbGliaW5wdXQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKPiBbICAgIDEwLjg0NF0gKElJKSBVbmxvYWRNb2R1bGU6ICJsaWJpbnB1dCIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDRdIChJSSkgVW5sb2FkaW5nIGxp YmlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDRdIChF RSkgRmFpbGVkIHRvIGxvYWQgbW9kdWxlICJsaWJpbnB1dCIgKG1vZHVsZSBkb2VzIG5vdCBleGlz dCwgMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCj4gWyAgICAxMC44NDRdIChJSSkgTG9hZE1vZHVsZTogImtiZCIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjg0NV0gKFdXKSBXYXJuaW5nLCBjb3Vs ZG4ndCBvcGVuIG1vZHVsZSBrYmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDVdIChJ SSkgVW5sb2FkTW9kdWxlOiAia2JkIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4g WyAgICAxMC44NDVdIChJSSkgVW5sb2FkaW5nIGtiZCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCj4gWyAgICAxMC44NDVdIChFRSkgRmFpbGVkIHRvIGxvYWQgbW9kdWxlICJr YmQiIChtb2R1bGUgZG9lcyBub3QgZXhpc3QsIDApICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDVdIChFRSkgTm8gaW5wdXQg ZHJpdmVyIG1hdGNoaW5nIGBrYmQnICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDVd IChJSSkgRmFsbGluZyBiYWNrIHRvIGlucHV0IGRyaXZlciBgbGliaW5wdXQnICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBb ICAgIDEwLjg0NV0gKElJKSBMb2FkTW9kdWxlOiAibGliaW5wdXQiICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAo+IFsgICAgMTAuODQ1XSAoV1cpIFdhcm5pbmcsIGNvdWxkbid0IG9wZW4gbW9kdWxl IGxpYmlucHV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCj4gWyAgICAxMC44NDZdIChJSSkgVW5sb2FkTW9kdWxlOiAibGli aW5wdXQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPiBbICAgIDEwLjg0Nl0gKElJKSBVbmxvYWRp bmcgbGliaW5wdXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+IFsgICAgMTAuODQ2XSAo RUUpIEZhaWxlZCB0byBsb2FkIG1vZHVsZSAibGliaW5wdXQiIChtb2R1bGUgZG9lcyBub3QgZXhp c3QsIDApCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+IAo+IC1BbGV4ZXkKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJ bnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK