Hi, I'm Kohai Tokunaga from Entity Corporation. I'm a reviewer of ContainerD and a maintainer of Build Kit. I'm joined today by Tao Pen and Group. Today, we will introduce and deep dive into faster Container Image distribution technique discussed in the community, which is called Lazy Plink. First, I'm going to give you a brief introduction to Lazy Plink. Plink container image is known as one of the time-consuming steps in the container lifecycle. This has been affected various kinds of use cases, including batch job execution and building images. There are efforts to minimize the size of container images, but not all images are minimizable. Research shows that Plink packages accounts for 76% of container start time, but only 6.4% of that data is read. The root cause of this issue is the current OCI images. In these images, each root effect layer is formatted as TUR and optionally plus compression. TUR is not seekable and cannot perform parallel extraction. So when we start a container, we first need to download the entire image content to the node, then extract each layer sequentially. If the image is large, starting up the container will take long. For solving this issue, several OCI alternative image formats are discussed in the community. They aim to speed up container call to start, so they are sometimes called as accelerated images. Accelerated images enables a sort of technique of container image distribution called Lazy Plink. This allows container runtimes to start up containers before the entire image content is being locally available. Instead, necessary chunks of content, like files, are downloaded from the registry on demand. In this talk, we put focus on two of image formats and deep dive into how Lazy Plink is achieved. Installed it is also a compatible image format for Lazy Plink. This comes with perfect optimization and content verification. This is proposed as a backward compatible extension to OCI image specification. NIDUS is a Lazy Plinkable image format with perfect chunk data application and E2E data integrity. This is compatible with OCI distribution spec and OCI artifact spec. This is incompatible to OCI image specification, so this is proposed as OCI image spec V2 format. First, let's take a look deeper look at Estergizet image format. Estergizet is an image format for Lazy Plink. This is backward compatible to the current OCI image specification, so this is lazy pullable from OCI compliant registries as shown in the following figure. And even legacy and Lazy Plink agnostic runtimes can run this image as a non-lazy image. Estergizet is no usable on a variety of tools, including Kubernetes, K3S, Konchanadi, Cryo, Portman, Buildkit, KaniCo, Core, Buildpaks.io, Konchanar Registry, etc. We will look at how Estergizet looks like with these tools in the later slides. Estergizet comes with performance optimization and content verification. Prefetch optimization allows important files to be prefetched to avoid network overhead. Estergizet is discussed in Konchanaristargizet Snapshotter project. This is based on Stargizet image format proposed by CRV5 but comes with performance optimization and content verification. As shown in the following figure, Estergizet is compatible to Gzip and usable as a valid OCI or docker image layer. Each file is compressed as a separated Gzip member and the offset to each member in the layer is recorded in TOC file, appended at the tail of this blob. This enables random access to file entries and HTTP range request is used for the random access to the layer blob stored on the registry. Estergizet supports prefetch of files that are likely accessed during Konchanar startup. These files are called prioritized files. Before Konchanar startup, Konchanar runtime prefetches them to mitigate the network related overheads or reading them. Other files are fetched from the registry on demand. They are also fetched in background to make the image locally available as soon as possible. This shows the time to take for startup Python 3.7 image among three types of formats. Legacy images cannot start Konchanar before the entire image contents become locally available so startup takes accordingly. Estergizet noopt is Estergizet image without prefetch optimization. This shows the time to take for startup but there is a runtime performance drawback because of the overhead of on-demand fetching. Estergizet can mitigate this by prefetching. Note that creating Konchanar takes longer than nooptimized Estergizet because prefetch occurs during this step. Glassfish server image also shows performance improvement of pool by Estergizet image. And same as the Python image, optimized Estergizet mitigates runtime performance drawback of on-demand fetching. Lazyplink can be enabled on Kubernetes. As shown in the following figure, plugins are needed for CRI runtimes. Sargizet Snapshotter is used for Konchanar and Sargizet Store is used for CRIO. We will introduce these plugins later. There is a real-world use case at CERN for speeding up analysis pipeline. K3S supports Lazyplink of Estergizet. This patch is already matched to the main branch so will be included in version 1.22. Sargizet Snapshotter provides a kind node image that enables Lazyplink of Estergizet. This is a demo of running Hello World GoLang CI as a workflow on K3S. Here I use the upstream K3S that supports Lazyplink of Estergizet. And run it in K3D, which is K3S in Docker. This workflow builds Hello World GoLang binary. It runs GoLang CI Linter and GoStack, then builds the binary. And finally it executes the binary in Alpine, Ubuntu and Federal Continents. APA shows the workflow that uses Estergizet image for the runner image of each step. Each step runs without waiting for the poor completion of the runner image. It takes about 52 seconds. Lava shows the workflow that uses normal Lazy image. Each step needs to wait for the poor completion. So it takes longer than the workflow with Lazyplink. In this case it took about 94 seconds. For continuity, Sargizet Snapshotter plugin enables Lazyplink. This is implemented as a remote Snapshotter plugin of continuity. As shown in the following figure, Sargizet Snapshotter mounts Estergizet layer on the node using Fuse. Each file contents are downloaded from the registry lazily. Sargizet Snapshotter communicates with continuity via GLPC API and provides Fuse-mounted Estergizet layers to continuity. Using this configuration, you can perform Lazyplink on Kubernetes. Nodectl, Adokka Compatible CLI of continuity also supports Lazyplink, so you can perform Lazyplink on your terminal as well. This is a demo of Lazyplink of Hello World Estergizet image on continuity with Nodectl. The upper console shows Lazyplink of Estergizet and the lower shows normal non-Lazyplink. Estergizet enables continuity to run the container without waiting for poor completion, so it finishes in about 5 seconds. Non-Lazy image needs to wait for the poor completion, so it takes about 32 seconds. For Portman and Cryo, Estergizet store plugin enables Lazyplink. This is implemented as an additional layer store plugin available from Portman version 3.3.0 and Cryo version 1.22.0. Additional layers store allows Portman and Cryo to acquire continental image layers without pulling them from the registry. As shown in the following figure, Sstergizet store mounts extracted Estergizet layer on the host using fields. Each file contents are downloaded from the registry lazily. Sstergizet store communicates with Portman and Cryo via Firebase API and provides field mounted Estergizet layers. By using Cryo with this configuration, you can perform Lazyplink on Kubernetes. If you use Portman with Sstergizet store, you can perform Lazyplink on your terminal as well. This is a demo of Lazyplink of Hello World Estergizet image on Portman. The upper console shows Lazyplink of Estergizet and the lower shows normal non-Lazyplink. Portman finishes running Estergizet in about 5 seconds. Already exist message shows that Portman acquired image layers from the Sstergizet store. Non-Lazy image needs to wait for the pull completion, so it takes about 25 seconds. Buildkit experimentally supports Lazyplink of Estergizet formatted base images since version 0.8.0. In general, every build starts from preparing base images by from instructions of Docker file. When you build an image using large base images that aren't cast on the node, they need to be pulled there and it can take a long time. This Lazyplink feature is trying to solve it. You can use this feature via Docker Build X as shown in the command example in this slide. As shown in the following figure, builds run without waiting for the pull completion of from instruction. Necessary files or chunks of the image are pulled on demand during copy and run instruction. A variety of tools in the community start to support creating Estergizet images. Buildkit and Canonical support building Estergizet image. Buildkit supports building Estergizet as one of the compression modes. You can use this feature through Docker Build X. Compression equal Estergizet option enables this feature. Canonical supports building Estergizet. This is an image builder, runable in containers and Kubernetes. GZCR experiment Estergizet equal one environment-variable enables this feature. There are image converters as well. CTR remote is a CLI command for continuity. This is provided by StarGizet Snapshotter project. So you can fully customize and tune the Estergizet image, including prefetch optimization. NerdCTL is a Docker compatible CLI for continuity. NerdCTL image convert sub-command converts an image to Estergizet. NerdCTL is Docker compatible, so it has NerdCTL build sub-command. So you can build arbitrary Estergizet images using build sub-command and convert sub-command together. GoContina registry and plan also supports image conversion. This is a library and a CLI command to interact with registries. GZCR experiment Estergizet equal one environment-variable enables conversion from an image into Estergizet. Tools like canico, co, and buildbox.io use GoContina registry, so these tools also support Estergizet creation as well. As discussed in this talk, Estergizet is now widely usable on tools in the community. For keeping interoperability of Estergizet among these implementations, we are proposing Estergizet to OCR image specification. Because Estergizet is compatible to the current OCR image spec, we are proposing this as backward compatible extensions to the current OCR spec. Feel free to join the discussion. From the next slide, Tau introduces NIDUS image format. Thank you, Kohei. Hi, everyone. My name is Tau Pan. I'm a staff engineer at Ungroup. I'm going to introduce the NIDUS image service to you. The NIDUS image service is an image acceleration service that we built in-house at Ungroup and deployed largely on our production system. When we start building NIDUS, we make sure that we do support reasonably, but we still want more from just NIDUS. So here's the official list that we have in NIDUS. Firstly, we can support NIDUS with many prefaced policies. While we do poor images from standard registry, we want to make sure that even if the network goes down accidentally, we can still access it data locally. So we want to pre-fetch the data before, even if the application doesn't access it, because it may access it later on. So we support pre-fetched policies, and we have different pre-fetched policies, such as spantically or hintedly or background prefetching. Another thing we support is chunk-level deduplication with native built-cache. With chunk-level deduplication, we can increase the deduplicate ratio of a computer image, not very dramatically, and with native built-cache, it improves image conversion from a standard OCI image to NIDUS image very largely. And we support N2N data integrated. That means we can optionally verify the data contents when we read any data locally or from the registry to make sure that it is actually the data that is being built into the image. So the reason is that sometimes there may be a local disk break or there may be some bugs that accidentally change the local image cache. With OCI image, the application will never know it, but we want to provide the capability to find out such situations so that in NIDUS we can optionally verify it. And let us support the producible image building. That means we can build a NIDUS image from source on any machine. It will not be affected by the local machine environment. Also, we support the NIDUS image format is compatible with OCI distribution spec and artifact spec. So it is the reason that NIDUS is usable with a standard cloud registry. Also, NIDUS has a rich container ecosystem integration. It works with Kubernetes, Docker, Continuity, Buildkit, Haber, and Drinkfly and different container long-time such as transparency and cloud containers. It is very resource efficient and production ready. We have a very large-scale deployment at Ant Group and the service is available for our Alibaba cloud service. So this is the architecture of NIDUS. In the middle, we have a few streaming and it provides both Fuse Endpoint and VertiFS Endpoint. Fuse Endpoint allows the traditional density container to access the image data directly and VertiFS does the same for other containers. And it has shared uncompressed local cache. So the local cache is uncompressed when being pulled from the remote storage and it only needs to be uncompressed once and it will be shared by different NIDUS streamers on the same host. Also, we support single-time board with extremely low memory footprint. We have this and five megabytes per instance for each NIDUS streamer. And we can use Django Fly between a registry and the NIDUS streamers. Also, the image data can be distributed by a tp2p network. So this is the core of the NIDUS image service. We have RAPS registry acceleration file system there. It has a Markov 3 device. Each image into two parts. One Markov 3 metadata layer. It is self-verifiable by Markov 3 definition. And also it has chunk shared data layer. So different images can share the same data chunk on the data layer. Also, to be OCI compatible, we just changed one field in the OCI manifest. So we introduced a new metadata for the NIDUS probe. And the list of the manifest is compatible with the OCI artifacts and it is really big. So that means it is compatible with registry functional entities as well. And it is widely working with many container registers such as in many card registers. And it works with Docker registry and also reverse with Haber. And this is, there is a putting bunch back for, we have done for NIDUS. As we can see, for OCI image, the end-to-end time for OCI image creation, the time increases and the image size increases. But with NIDUS, the time is mostly consistent or below four seconds for different images. And NIDUS works with a variety of tools. We provide a NIDUS step-shorter plug-in for container D. So this is a link for the step-shorter. And with this plug-in, NIDUS works with many, many container-container-ecosystem components, such as Kubernetes. It works with CI console, it works with Nordic console engine, and it works with CI remote or CTR remote tool. Also, we provide tools to manually convert an OCI image to NIDUS image. The tool is called NIDUSify. And NIDUS, what it does is to download the image from remote registry and convert it to NIDUS format and then push it to a remote storage. So it's very easy to use, just call NIDUSify. Convert to density source and density target. And also we provide another tool. We provide built-kit support to manually convert or to manually build NIDUS image. So this is, we have a PR there for built-kit and it can build NIDUS image directly from Docker file and push it to a remote registry. We, you know, even with manual conversion, people will ask for automatic conversion. So we start to work with the hardware team to provide automatic support for NIDUS in the hardware project. We have designed there and we are working on the implementation. So the general idea is when user push an OCI V1 image to hardware, and the hardware will call an image conversion service to convert it to NIDUS. Also the image conversion service is image format aglostic. So right now we are working with this style. We co-hit together on the user GZ support for image conversion service as well. In future we may support more image format for the same component. And on the standardization point, we are working with the OCI community to push OCI artifacts manifest to the community. This functionality is to map an OCI image manifest to an artifact manifest. So we can connect NIDUS manifest to the original OCI image manifest. And it will, this will help the registry to check the relation between different images. And we are, inside the PR we are proposing NIDUS image as an artifact type. It's called cnsf.nidus.v1.dashrc1. This manifest is beneficial to its own signature NIDUS and scan relux etc. It is widely usable for different artifacts. Also as we, also we are discussing with the OCI community, proposing the v2 image spec. So we, there is a brainstorming on what is, what should the v2 OCI image spec look like. And in the discussion folks, the OCI community listed several key features such as reduced duplication, reduced reproducible image building, explicit facism objects and metadata, long-time data integrated, multiple facism format and laser fetch support. We've analyzed many open source projects out there that supports laser fetching or improves data distribution, the image data distribution, such as P2P Projector, Dragonfly and Kraken. All these projects lack, lack part of the requirements for the v2 support, v2 image format. But as we can see that NIDUS already supports both, all these requirements naturally. Okay, let's do some recap. We've introduced both StarGZ and NIDUS in this presentation. And the reason we do it is mutual. We are aware that OCI images are large and small. We need to do the image-less pooling to start containers quickly. And prefetching is a good friend to laser pooling because we can get data even before the container actually uses it. And we acknowledge that container ecosystem adoption is very crucial for this new image format. For StarGZ, its key feature is backward compatibility and it's an extension to the existing OCI image spec. For NIDUS, it's more future-looking and it's a proposal to the next generation of OCI image spec. And here are some information for StarGZ project. It is 100% OCI compatible image format for laser pooling. And it is a sub-project of CNCF-grangered project container D. Here is the ending for resource and snack page. Also, there are pre-reconverted images here. And for the NIDUS project, it is an image acceleration service with various improvements over the existing projects. And it is a CNCF-equipmenter project-granger-flexer project. And here are these links to it, its source, its stack, and tutorial. So thank you everyone for watching this video and for taking questions and we will answer later. Thank you.


I'm going to present what I've been hacking on for the last couple of weeks. It's called Web Transport. Web Transport is a new protocol developed by the ITF in the W3C. Conceptually, it's basically like web sockets, but over quick. So it gives you all the nice advantages that Quik has stream multiplexing at the transport layer, so I'm ahead of line blocking. It gives you a faster handshake. It gives you better hold punching success rates. It gives you an advanced loss recovery and congestion control and all the reasons why we love Quik. But this is not the reason I'm excited about Web Transport, actually. The reason I'm excited about Web Transport is because it allows us to do things that Web Sockets didn't allow us to do. And the reason for this is that the browser handles Web Transport different from Web Sockets. In Web Sockets, the browser always wanted to see a real TLS certificate. So a TLS certificate that was signed by a certificate authority, for example, Let's Encrypt. And this also works in Web Transport, but there's another option. It's called the server certificate hashes. And basically what it does, you can tell the browser, accept a certificate that has a certain hash. And then the browser performs the TLS handshake, looks at the certificate. And if the hash of the certificate matches, it will accept that one. So this is great for LIP2P, because we were never able to get TLS certificates for all of our LIP2P nodes. But shipping around the hash, that's totally something we can do. So I started programming. I have this Web Transport Go library now. It's still a work in progress. It builds on our QuickStack on QuickGo. And it can do basic things now. And I'm going to show you now. So let's just start up the server. And one thing to keep in mind here, I will now go to example.com, which is mapped to localhost. The reason is that Chrome, for some reason, refuses to do QuickConnections to localhost. So you have to map it internally to some kind of domain name. And then you can establish a QuickConnection. So we are just going to use the web developer tools. And first we'll try to establish a connection. Oh, and this is very small. And let me, yes. OK. Try to establish a Web Transport connection to example.com slash web transport, which is the server here at localhost. So what happens? We get a quick protocol error because the certificate is unknown. Now we can, this is because we just used the URL. We didn't pass in the hash anywhere. So now let's use the hash of the certificate here. So now we're telling the browser that this hash is OK and pass in the server certificate hash's option. Tell it that the algorithm is a SHA256 and the value is what we just entered here. By the way, I just wish that somebody came up with a solution to have a self-describing hash function. Somebody should really do that. So now we have a web transport connection. It works. Let's go one step further and actually use that connection so we can open a stream on this connection and then send something. Let's say we send a hello world and there we go. So this works now. This is pretty cool. I'm pretty excited about this. If you think that this could be useful for your project, that you would want to use this, please get in touch.


Hello, my name is Karis Wong. I'm a PhD student, Neurology Registrarian Clinical Trial Fellow based at the University of Edinburgh. Thank you very much for asking me to speak today about my project, which is developing a data-driven framework to identify, evaluate and practice candidate drugs for motor and neuron disease clinical trials. As a bit of a background, motor and neuron disease or MND is an incurable and fatal neurodegenerative disease. We only have one approved drug in the UK called Rilazol and this was actually approved back in 1995 and that prolongs life by an average of two to three months only. This is despite many promising preclinical studies and clinical trials in the meantime. So essentially after 26 years, we do not have any new drugs in the UK. There are several other drugs like Adaravone, approved elsewhere but most of this have very little or modest survival benefit at best. We did a systematic review to try and understand the challenges in MND trials and to learn what we can do better. We broke down the challenges in the two broad categories. The first being the difficulties in designing and delivering trials in this population and secondly the limitations in our understanding of disease biology which also contributes to challenges in how we select drugs to take forward the clinical trial. However, there are promising advances in both of these areas. In trial design, we have the MND smart trial up and running in Edinburgh and across Traffina, the sites in the UK. SMART stands for Systematic Multiarm Adaptive Randomized Trial. This is one of several adaptive platform trials in MND including the HEALY AOS trial in the States and TRICELL's platform trial plan in Europe. All of these trials are multiarm trials meaning they compare multiple drug arm against a placebo arm or dummy drug arm at any point of time. A shared placebo arm means we need a smaller sample size overall to get a definitive answer on whether drugs work. They are also adaptive meaning it's set analysis stages, drugs which are not effective are identified early and drop, and drugs which are effective are taken true from stage to stage including from phase two to phase three seamlessly. Using this design, we are also able to add new drugs to the pipeline to be tested rather than starting standalone trials from scratch. We therefore now have a way of testing more drugs quicker in a much more efficient way. So the question now really is how do we best select drugs to take forward to clinical trial? There are two ways of thinking about this. So one is push trials where we say the evidence for a drug saved from preclinical mechanistic studies is so good that we must test it in a clinical trial. Historically speaking though, many trials have relied on small and often not reproducible animal studies to inform drug selection and this has not been very successful to date and this is also likely owing to the complicated the complex disease biology which we have not fully understand. The other way to think about trials, drug selection for trials is pool trials where we say we have a horrible disease and we need to try something so what's the best drug we have available to try? To decide on this, we could look at the entirety of the evidence base including studying different types of data rather than solely relying on small animal studies. So this is the framework that we developed for this purpose. We use different domains of data showing here on the boxes on the left to identify, evaluate and prioritize drugs to take forward to clinical trial. So this is a modular framework which means in future if we have other domains that become relevant and available we are able to add them on. Currently these are the domains that we are using so first we've got the published literature which is informed by realiser or repurposing living systematic review. This is a three-stage systematic review taking into account the clinical literature of MND and other neurodegenerative diseases which may share similar pathways as well as animal and cell study literature. We also use data from experiment to drug screening which are from my colleagues at the University of Edinburgh and they are working on different screening methods and models including using stem cells derived from people with MND. We use data from these two domains as well as other data for example from the target ALS RNA-seq data to do pathway and network analysis so thereby identifying pathways and networks of interest which we can then map to drugs of interest. We also mine drug and trial databases for data on safety, feasibility and pharmacological data. We also harness expert opinion so we will incorporate all of these data from different streams and to generate an integrated candidate drug list. We use an interactive shiny app called the ICANN MND shiny app to visualize this and filter drugs according to overlapping categories of interests. This can help trial lists prioritize which candidate drugs we should evaluate in more detail. For drugs which they have prioritized for further evidence generation synthesis and reporting we would then produce living evidence summaries. These are summary of the data across the different domains which we keep continually updated so at time points in keeping with trial adaptation the trial list will have access to current curated content for each prioritize drug. We report this using a shiny app called the MND Source CT shiny app. For the realizer component we do a three-part machine learning assisted systematic review so first we have a systematic review of their clinical studies in MND and other neurodegenerative diseases which may share similar pathways, animal and vivo studies in MND as well as humans stem cell studies in MND. Each of this takes for a starting point updating the automated living search of PubMed using an API base and SERV or the systematic review facility platform to retrieve new publications. SERV is a free-to-use bespoke web-based application for systematic reviews developed by the Kamarades group. We then use a machine learning algorithm based at the epicenter to screen citations for inclusion. Next using R we run regular expressions on the included publications to identify the drug and disease study. We then generate a table listing all the drugs and the number of publications for each of the disease. We then run this against a second algorithm and R to filter drugs by a logic so taking forward drugs which have been described in at least one clinical publication in MND or where they have been described in clinical publications in two or more other diseases of interest. The trialers filters this list further based on biological plausibility, safety and visibility. We then annotate and extract data using SERV for the three reviews for all the included papers for prioritized drugs. For the clinical review we score each drug based on drug efficacy, safety, study size and quality of studies. To give you an idea of the scale of this review, the top half of this slide shows the systematic review component completed in 2017 which informed the first two arms of MND Smart. As you can see we have a large corpus, more than 40,000 publications across the reviews and from there we have identified 146 drugs which we eventually narrowed down to 22 drugs which have favorable clinical and pre-clinical data. So the reviews form a robust evidence base to inform expert panel discussions on drug selection. However, it is by no means a small undertaking given its scale so to make it more feasible for the current iteration we now incorporate automation techniques to our current workflow shown on the bottom half of the slide. The components incorporating automation are color coded here in pink. As mentioned earlier we use SERV for annotation and data extraction which enables efficient crowd sourcing. We currently have a group of more than 60 reviewers. We use workflows in R for data analysis, scoring and R Shiny for visualization. Next I'll show you a demo for our Shiny app to identify candidate drugs. Here we can choose categories of interest, for example drugs listed in the drug screening library, drugs across the blood brain barrier, drugs which shows the signal in any of our domains of interest and drugs listed in the British national formulary. Depending on which categories you choose the app will plot a euler plot to show you where how many drugs lie in each category. For drugs meeting all of the categories that you selected this will be tabulated in the table below. So this is one way which the expert panel can use to prioritize which drugs or which groups of drugs should be evaluated in more detail. For prioritized drugs we present a living evidence summary in this Shiny app called the MND systematic online living evidence summary for clinical trials or MND source CT for short. First we have our drug table to summarize the systematic review component. I apologize for redacting the drug themes here. As I mentioned earlier we score each drug according to efficacy, safety, study size and quality of studies as well as number of publications. We rank each drug based on their scores. We are also able to summarize the animal and vivo and in vitro survival and cell death data respectively where available. We also use interactive heat maps to visualize all of these data. To provide an idea of what the current data are based on we have a living prisma diagram for each of the reviews showing how many publications are identified included and annotated to what degree. We also provide an overview of the quality of studies included for the animal and vivo review as shown here. For the clinical review we are able to provide an interactive sumbers plot to give an overview of the studies included. So this shows the drugs and disease study type of study design and for interventional studies what phase the studies are in. For each drug we are able to generate a drug cv with data across the different domains summarized across the tabs shown here. For example this is the clinical summary for pyroglythazone. For the animal and vivo review we are able to select outcome of interest and animal model of interest and the shiny apple plot a forest plot for that outcome and model for the drug of interest in this area below. We are also able to tablet and summarize the data from the publication that meets the criteria and the table below. We also have also linked up for clinical trials. We retrieve data from the clinical trials.gov API to list the MND clinical trials for this selected drug. So this includes planned trials, previous trials and ongoing trials. For pathway analysis we have some visualizations here and string enrichment analysis as shown. We're also able to generate all of these information in a timestamp pdf format using our markdown. So this is very useful for record keeping anticipating future discussions with trial sponsors and drug licensing authorities. Apologies for not sharing the full version at present as per the request from our trialist as we are coming to a trial adaptation epoch. We do however have a demo version which doesn't have all the bells and whistles but should give you a rough idea and I'll be very interested to hear any feedback and suggestions. That's all from me today. Thank you very much for listening and thanks to my supervisory team Professor Smokin McLeop, Professor Siddharth and Chandra, Professor New Carragher, to the Comraders Group, the MND Smart Drug Screening Group and the Realizer MND Consortium. Thank you very much for listening.


Everybody forced here pink 2023 bowman draft baseball jumbo eight box case number three picker team style Got ammo with the Orioles and ton guardians bow B with the Rangers bowy s white socks candler s Cubs Charles and a's Darren s with the Pirates David L. Braves and Phillies and Giants Eric W. Metz Frank P with the But the Iraqis and the J's Jeffrey H. Tigers Jordan C. Regd Joshua B Paper base spot and Yankees Mark L. Dodgers Michael W. Astros Michael Y. Padres Robert C. Twins and Rays Russell P. Royals Ryan B. Red Sox Ryan S. Cardinals Ryan D. With the Brewers Stacey Seattle Steven you Nationals Zufan D. Bax William with the Angels and you with the Marlins Let's do this And again as I read off there. There is one spot for all paper base Everything else will ship for your team numbered paper will ship for your team as well Hey guys, Sam and Kyle will be live at five get your spots Lane and J Grom fanatics live filling up breaks right now as well There's an aqua lava First bowman auto for the Royals Carson Rocco Forte Royals hitting today all day One warm Brady would be cool fractures of both and holiday down to pull a one-way Brady light blue Munoz fractures of Colt Emerson and canard Delgado light blue paper Rainer Arias the 499 for the Giants Fuchsia Lunar Crater. That's to 125 Colt Carrick for the Rockies fractures Tommy Troy and Tanner Hall glass of Zanatello Red Sox for fractures of Watts Brown and Menachi Yep, half a million bounty 12 of 50 inscribed First woman auto Paul Skeens pirates That's a good way to start the break here numbered auto and then a Paul Skeens Darren with the pirates in this case That magnifory of Darren fractures of Sullivan and Picard Langford base That is lunar glow a forester for the pirates refractors of Kendall George and Yankeel Fernandez Blue refractor out of 150 is Christopher Torren. I'm in backs Refractors of Dylan Campbell and Brady house fractures of McLean and Spencer Jones base first woman auto is Cam Fisher for the Astros solid first box For the autos at least to see if we get some nice color refractor Hackenberg and hit Fractors of Homer Bush Jr. From the Padres and Xavier Isaac for the rays It's definitely less than three hundred forty than three hundred million know that Green refractor it's a 99 rhymer for the Red Sox Solid rhymer there Max Clark insert refractors of Nivens and de Paula Fractors of Brock Rodin for the Mariners and Kevin Prada for the Mets These first auto Blake Mitchell a lot of Blake Mitchell today We go KC refractors of Ramirez Mets and Christian Campbell Red Sox In this break Richard We ripped a lot we've pulled some we've pulled some big cards today Green paper to 99 is Menachi for the Angels lunar glow of Farmelo for the Mariners Fractor Noble Meyer and Travis Honeyman and first bowman Brady Smith. Here we go Dodgers. That's a nice color 24 25 Go Dodgers Brady Smith. No, not that refractor Davis and Vargas Yes, he better start saving up Trying to buy them any papadillas Wyatt Langford Wyatt Langford refractors of Farmelo and Arias Got a Brady bass insert earlier Orange Mitchell we pulled gold schemes Choice who was it Clark?  We'll get that in a bag for you 171 of 499 Springfield mass fractors of Jackson Wiggins and Matt Wyatt Crowell if the magic one you can get a lot more Assuming one single store had all those all the ingredients for 124,000 papadillas Skeens Maraudis trust sir you could just buy and then the whole entire Orlando area get all those poppies purple to 250 is Elijah Green nationals Fractors of Vatrano and Bowman. I guess he was candler because we hit some in Bowman and Jumbo last night, too fractors of Reimer and Elijah Green Well, we also didn't see him in how many we ripped of what over two cases of jumbo through those mixers last night of that So I didn't see one It's just full. It's just full case break mojo. I guess I have no idea. You just assume they have that much They better they better be prepared place the order First auto nice tight Pete for Seattle. Hi Pete, Seattle Yankees and Mariners refractor Campbell and Acunia Yankees and Mariners over in That excite everybody fractures of honeymoon and Ramirez Purple refractor to 250 first woman Conor Burns Reds Fractor Vargas and noble Meyer. Yeah, I was small sample that was like yesterday and In chat off in that excite they were like, I don't know Tray Sean Walton signed and it was like midday early release And then we had like three last night. Oh, I don't know Tray Sean Walton signed. I haven't seen him today. I Was thinking like what it's early like there was like six breakers are picking it yesterday like six Didn't see one on eBay Fractors of Woodward and Mahoney dude, Sam even thought he didn't sign maybe didn't he didn't sign it inside of it It's like Like I settled down guy settled down First woman autographed guardians Christian Napchick Whitman and Riley refractors. Oh, I'm taking home I'm just saying like just in my freezer for a bit couple days, maybe Jacob Wilson I'm for sure taking it, but I didn't want one like now. Yeah, I was thinking like I'm gonna order. Yeah, whenever someone gets food around here Like yeah, yeah, yeah, yeah, just whatever whatever whatever right light blue a hollering Fractor Grant Taylor and who to pull I should have just ordered like Are you getting blizzards? Okay, get me no blizzards and get me chicken tenders instead Light blue to 499 haze's by as Mets my favorite blizzard is just a basket of chicken tenders. No ice no ice cream none of that Aqua wave Tayshawn Walton 125 for the Philly speaking of Tayshawn Walton Fractures of Jonah Cox and Ryan Clifford Hey guys still mixtures over off an addicts live right now Helene drops every few minutes hop on over there with Lane and Jake Ripping choice mixtures to choice mixers better color seems to fall a little more frequently in choice a little more That's what it seemed like so far Mitchell glass Royals Levinson and choreo Refractor first auto chase Davis for the Cardinals number to 499 nice one nice one there for the redbirds Skeins Rock of Forte and Lee Lunar glow the Paula refractor saltobon and bergoya People are gonna buy that stuff Devon people will buy that Green refractor to 99 as a royal for the Mariners Yeah, dude, there's always a catch. There's always a catch in the 99 and Royal Mariners Refractors of Walton and Megia.  I Don't even want to see it, dude God Max Clark on the draft refractor Keener and Thornton. Yeah, maybe he realized he needed real money to pay lawyers His name is Brando. Isn't it doesn't he go by Brando? Brando MLB comms is Brando, Maya. Yeah, so I think the first where it says Brandon I think that's incorrect or he like it's he goes by Brando. I don't I don't know the case I don't know an MLB comms is Brando Like Marlin Look at that dude. That is sick. Look at that glass gold mini diamond auto Tommy Troy Super cool dude 8 of 50. We're getting that magged. That's sir.  Congrats d-backs Langford skeens and Cole Miller Lunar glow of Gutierrez Mets for fractures of Jayce Young and Yassa Mercedes Purple refractor to 250 Brock Vandenberg for the Mets Fractures of Gabriel Gonzalez and Quinn McDaniel fractures of Cole Young and Hunter Haas Still there's still how about the offside penalty? Blue refractor first woman auto Austin Trusser for the Mets number to 150 Fractures Hazy's Bayez and Jay Bashir's light blue paper to 499 Munoz Dodgers light blue chrome of Charlie Soto Fractures Lucas Gordon and Alex Clemmie. That is fuchsia lunar crater Jay Bashir's to 199 going to the Padres fractures of Dion Jorge and Luke Schlegger glass Farmello for the Mariners refractors of Diaz and Kevin Sim first woman auto Red Sox Nassan Zonatello fractures of Duneche Valdez Dylan head Max Clark on the draft refractors of Toran and Eldridge Eldridge base. There's a yellow lunar crater to 75 Kevin Sim D backs first bowman Fractures of Opor and Walters Have you guys noticed that it seems like there's more color like on the base this time around and jumbo and super jumbo than there used to be Maybe I'm wrong on that fractures of Roman Anthony and Jake the Leo Yeah, the glass is awesome with color. It look good as is Do all the glass cards go together to make like one giant stained glass Aqua lunar crater McDaniel to 125 Giants fractures of Guanipa and Blake Mitchell fractures of Hans Montero and Hurston-Waldrup in paper to 99 Crawford for the Phillies first woman auto for the Angels Joe Redfield Fractures of Drew Jones and Michael Carrico Light blue how you lead tigers lunar glow Santana rays or fractures of Emmett Olson and Alberto Rios Blue wave first woman autographs Zach Levinson Cardinals pretty good break for the Cardinals to 125 of 150 Fractures of how you Lee and Charlie Soto. I would have gotten any kind Max Clark Fracture of Jacob Barry and Mack Orvath. Yeah, that's like I'll get that And yeah, yeah, all right Oreo Reese's Butterfinger on care dude Gold first bowman is Jaden ham for the Tigers Ham Fracture TJ Nichols and cool Foster white blue paper to 499 Cooper Engel Guardians glass of Emerson refractors of early and Smith Brady Smith First woman auto for the brave Sabin Sabayos Fractures of Munoz and Paul Wilson Steve you play in some four-night Lego. I gotta try the racing later, too Light blue chrome Horvath Fractures of quest dad and hawk Guitar hero type thing is all right. Mm-hmm Guess it depends on the song It seems like easy XP though. We'll say that care about the battle. I don't know though I only played for maybe like dude the Lego stuff was juicing my XP. Was it? Yeah, oh Completing like stuff. Yeah, just like in general. I was gonna say because I played for like an hour on there I started my own thing And I went up like two levels for like a settlement or whatever did some other stuff and I got done It was like I could get almost a full page. Yeah. Yeah. I was like, oh, that's really good It's like without a multiplier like it takes a long time. Yeah battle royale Green the 99 Jason choreo guardians like if you're not getting like wins and you lose like a long time Or you're doing like the quest or anything green the 99 choreo guardians Clark Rada and O'Donnell fractures of Carlson Reed and Connor Burns Three boxes left. Come on now. Let's take some more big cards here He's in case so far has some good color has some nice autos Keep it going though Base auto Mariners Teddy McGraw got skeins refractors of Weninger and Boyd Gold paper to 50 Lewis and hella Kunya as a met each probably start getting majorly action pretty soon By blue chrome Tommy hot guardians lunar glows of all of hydra's Fractures of Holland and ham orange something coming up here first bowman auto color match Orioles Jake Cunningham Sweet hit. Oh, that's two of 25 Nice card in a true orange That mag for your Orioles Those hit a little different right there the orange and the Orioles or orange and Giants refractor Wyatt and Clark light blue paper to 499 Abner for the D-backs Emerson base light blue questad for the twins fractures of McGraw and Abner Max Clark Aqua wave number to 125 Carlos Jorge for the Reds Fracture of Maui Ohuna and Jackson Meryl Fracture Wyatt Langford for Texas and a cool scone wetter few show looter crater to 199 Alfredo.  How are we doing chat? We hanging in there Everybody at work just kind of like have us on in the background is that what's going on Refractor first auto Luke Kishal the 499 twins One twins refractors of Gonzalez and Bonilla There you go, Dan. He forgetting it's Tuesday refractor Luke Kishal twins and do no Reds Thursday off is weird purple refractor to 250 Jesus by as Mets fractures of Vrandenburg and Cross Yeah, the weights in between Brady's can be pretty long. They are short-printed glass noble Meyer Marlins fractures of Trey Morgan and Michael Arroyo the people are gonna Are gonna like cry when that crash got My god might be me included Like if they beat the bills if they if they get the number one seed, I feel like it's a it's a lock If they do get in one see he deserves it though like and he has decent games to the rest of the season I feel like whoever gets number one seed in the NFC he's gonna win it, right? Yeah. Oh, yeah, that's what it seems like That's what I would as long as their number is kind of like trajectory that way No, I definitely had definitely a short print. Yeah, right now Dak does deserve it I'd say we'll see just games to play they got if they beat Buffalo. That's a big That's a big time. He's in Buffalo. Yeah parents in Buffalo this weekend First woman auto noble Meyer for the Marlins They pretty and that the teams both just beat the Eagles back-to-back so Langford refractors of Bayos and Crawford They both whooped them Yeah, it wasn't close games. I think Lamar would have to do pretty well down the stretch here. Yeah But he also still had he still has no weapons. He didn't he never do fair Light blue chrome early Red Sox from Merrill lunar glow were fractures of Hurley and choreo Yeah, I've since San Francisco is a better team Shouldn't that theoretically hurt parties chances a little bit? First woman auto white socks take him Gonzalez Fractures of Pinkney and Tamar Johnson light blue chrome of Paul Wilson Tigers Max Clark insert or fractures of Ingle and Montez Highlight mean a little light.  I think there was any Anything such as a highlight yesterday. I'll just low lights That's even a thing light blue paper to 499 bias for the Mets fractures of tight Pete Mariners Almeida Orioles like Gonzalez Green refractor nice Max Clark transformative talent. That's a really cool one 55 and 99 for Detroit fractures of Ewing and wood Aqua pink paper to 199 Montgomery White Sox fractures of cooler and Lindsay God boy, thank you for joining Purple refractor first woman auto Grant Taylor for the White Sox as well. We go Bowie Grant Taylor purple Fractures of louder and coupe Pay maybe fractures of Bradfield and Maya Sparkle first woman key for Lord for the Orioles fractures of Ty Floyd and Samuel Messiah Emerson base Glass chase Davis for the Cardinals refractors of Brandon winnaker and Davis and de los Santos Last box of case three coming up first woman auto Colin Hauke for the Mets Colin Hauke. There you go. Nice hit Mets fractures of Celestin and Jacob Wilson. See you Steve talks later, man There's Steve light blue Foster lunar glow Arias refractors of Castro and Shaw Gold wave first woman auto Rhett louder congrats to the Reds 39 of 50 Biggest red I've seen so far Think it's the only one we've seen today to Jordan see with the Reds in case number three Gold wave will get that in a mag ice love last box mojo there Refractor is huddle pole and Whitman light blue TJ Nichols fractures of Clifford and Grant Taylor Sons DJ remixes Steve Kirk. I'm hanging my music volume. That's pretty awesome That's fire What a legend green grass to 99s and her mood for the Pirates Refractors of Drew Gilbert and Max Anderson Sean's back John Fractor Brooks Lee twins and Zonatella Red Sox Sean probably slept more last night than I have since Saturday Blue refractor first woman drew Hackenburg for the Braves 24 of 150 fractures of choreo and Jonah Cox fractures of Acunia and Levinson That's Braden Taylor glass refractor Patrick Riley and Seth Keener dunks. There you go. Hey, there we go base first auto Homer Bush jr. For the Padres Fractures of Bergoya and Rocco Forte Sean's been getting into the dunks lately, man I like it light blue paper to 499 Lazaro Montez Mariners Fractors Mechia and Saltobon got sparkle Marcella Meyer Red Sox or fractures of Thornton and Walton Good break. That was a nice case. Let's go ahead and recap everybody. All right mood ring SP was Matt Shaw for the Cubs Numbered Cromes here by as Brandon Berg burns green the shears do know Hackenburg Torring Jorge Walton Muth McDaniel Carrick Max Clark on the Transform of talent green Jason choreo Michael Arroyo green paper of Crawford and Menachi green chrome of Reimer Vakero Sim McLean Gold paper Luis and a la Cunha gold chrome ham and orange chrome of Brady Smith for the Dodgers Otto's Homer Bush jr. Colin Howe Jacob Gonzalez noble Meyer Tim Teddy McGraw savings of Ios Joe Redfield Nazan Zanatello Christian napchick Type P Jonah Cox Blake Mitchell Cam Fisher Chase Davis refractor Luke Kishal Grant Taylor purple Aqua Lava Rock of Forte to 150 we had Levinson and trusser Gold wave first woman auto of Rhett louder for the Reds 50 refractor Matt Shaw Cubs the 499 Base Paul Skeens orange Jake Cunningham first auto for the Orioles and a Bowman glass gold mini diamond autograph Tommy Troy 8 of 50 Dbecks number four coming up everybody. Thank you