PRODU

Pluto jl github

Pluto jl github. 36 -> 0. Sep 1, 2021 · I've seen that PyPlot. VivaldoMendes closed this as completed on Aug 19, 2021. This has lead to a rise in Pluto being used as an educational tool. Add the ability to override CSS styles of Pluto. The reason why the issue happens is that Pluto often needs to evaluate your code to fully understand cell dependencies. Navigate to the node directory and run npm install. ProTip! Find all open issues with in progress development work with linked:pr . Compared to Julia's built-in Markdown parsing, this system is more predicatable and powerful. ctrl-shift-P: fuzzy command selector + keyboard shortcut lookup is awesome (but maybe better to just integrate with VScode) 👍 8. Just add the following to your existing Pluto. You switched accounts on another tab or window. As StatisticalRethinking v3 will be based on projects (e. 2). From v5 onwards the basis will no longer be StatisticalRethinking. Enter Pkg mode by pressing ] and install PlutoPublish by typing add PlutoPublish. It essentially takes the visual cell order, and then we do a stable sort based on cell dependencies. The disabled code still stays active in the notebook. g. Example notebook Sep 9, 2020 · Currently Pluto notebooks have max-width: 700px set in CSS for the main container. Jan 15, 2021 · - File not found when file newly created while session is running - Weird output from a mix of MathJax, Markdown and PlutoUI - Misaligned plots when plotting with UnicodePlots. com / fonsp / PlutoUtils. It takes a fairly long time since some . WARNING: both IOExtras and Base export "closewrite"; uses of it in module ConnectionPool must be qualified. No branches or pull requests. jl file in an order that allows the cells to be executed as a standalone script. run(), I can connect to the server on the host itself but not over the network. Pluto is already an awesome platform to make interactive notebooks in julia. Jun 8, 2020 · Ctrl+Enter - run cell. 24. plt = plot (x_vals) savefig (plt, "line. png" ) plt. HypertextLiteral. How can I interrupt the cell execution? Jan 17, 2021 · I tried Pluto. import PlutoPDF. Code; Issues 282; Sign up for a free GitHub account to open an issue and contact its maintainers and SR2TuringPluto is a Julia project that uses Pluto notebooks for this purpose. Press Ctrl+C in this terminal to stop Pluto. 🎈 Pluto – introduction (20 min) at Juliacon 2020 🎈. About DSLs: I am thinking that maybe Pluto can include a "mock version" for a bunch of popular packages with DSLs. jl: julia > ] (v1. #967. 17 and newer versions. Am I doing something wrong, or is there some fundamental incompatibility with Revise. May 19, 2020 · Regarding the presentation mode in Pluto, one particular point does not seem very convenient (if I am not missing some specific functionality in Pluto). 3GB, almost x4 the original data, and the raw data can be loaded into a dataframe in <1min from the CSV. 52. This is a package containing macros/functions to help develop Packages using Pluto notebooks testing/prototyping aids. It works similar to Julia string interpolation, only that it tracks hypertext escaping needs and provides handy conversions dependent upon context. imshow ( randn (( 3, 3 ))) end. jl github page and the Pluto presentation from JuliaCon 2020 by its creators. For more serious printing we need vertical space. Interrupt cell execution. I am currently going through a substantial rewrite and also wanted to include some documentation but I only do this in my free time and that is not in very high availability in the past weeks :P May 31, 2020 · Ha. Most 'customization' can be achieved using Julia's wide range of packages! That being said, the available settings PlutoPlotly. jl that exposes the plotly library. GitHub community articles fonsp / Pluto. 14, the version where it was originally fixed - it's broken there too: This means that something changed to Images. In Jupyter it is within the browser, but I would be happy to Interact with your Pluto notebooks from other Julia programs! - JuliaPluto/PlutoRESTClient. This is standard practice for file formats, and it means that programs (including Pluto) can easily identify this file as a Pluto notebook. g, moving them to a different sub-directory) does not work. HypertextLiteral is a Julia package for generating HTML , SVG, and other SGML tagged content. Each time with status 101 and then somehow the socket was immediately closed. 3 as well? Currently it uses Plots v1. Ctrl+Shift+? - show keyboard shortcuts. julia > Pluto. 21) and PlutoUI (v0. Shift+Enter - run cell and add cell below. julia > import Malt. 0. Nov 1, 2020 · I think there is something in the works over at PlutoUI? JuliaPluto/PlutoUI. Aug 19, 2021 · In the end, I managed to run the simple JuPM model described above inside Pluto. This would make it possible to run a feature-incomplete julia-wasm already, non-reactively (i. One of the first things I did when started using Pluto is increased max width Sep 5, 2020 · You signed in with another tab or window. If "-f", force write output notebook, erasing it if already existing. Prevent auto-execution of notebooks #968. jl using BrailleCanvas **Merged pull requests:** - Pluto ux process file drop - Dralbase state managment - PLJ-785 CodeMirror Eject to TextArea - Reload from TextArea in Apr 9, 2021 · Reason: I want to be able to quit the Pluto server when run as a background process. This package contains a set of utilities built using PlutoHooks. jl that broke the show method. In the REPL that pops-up an external, interactive viewer. If no "-f", do not overwrite existing output notebook. jl but RegressionAndOtherStories. jl could transform. Dec 6, 2023 · This issue should be fixed by updating to Pluto@0. PlutoLinks. EvaluationOptions`] (@ref) is used internally during Pluto's testing. toml files in the notebook. If it already exists, it is instantiated using the Project. env directory. js for 1D data and vtk. Suggestion: Allow the users to add execution barriers to Pluto cells from inside Pluto. Yes, this works. I am new to Julia and Pluto. GitHub - gdalle/PlutoProfile. 5 run time without problem. @replaceit x ~ y + 1. @bind x PlutoUI. Thanks a lot. To new contributors: the plan is to rewrite editor. StatisticalRethinkingStan or StatisticalRethinkingTuring) and use Pluto notebooks, I have converted the book's listings in the first four chapters to Pluto Notebooks. Apr 16, 2021 · Development. The Markdown parsing is powered by CommonMark. jl") extfunc (3) will error, extfunc being undefined. . data_table (table; items_per_page = 10) Display table as an interactive data table. 35. jl: Profile functions inside Pluto notebooks (unmaintained) This repository has been archived by the owner on May 1, 2023. Plot library for Pluto notebooks based on plotly. Closed. run (), it starts the default browser (here Firefox v78. Yes it does seem like a good way to get started with Pluto, but I agree that it seems non-trivial to do correctly. jl containing the line extfunc (x)= x*x , a Pluto notebook containing the code using Revise includet ("external. When opening new notebook, it opens a blank page. jl to manage the Julia process that notebook code is executed in, as a replacement to Distributed. gdalle / PlutoProfile. The DB file is 2. jl) uses Stan. My feelings on this have changed. alt-shift-up/down: suggest this create new cursor above/below. Jul 6, 2021 · fonsp / Pluto. In Jupyter Notebooks, one can toggle line numbers and the cells are Oct 5, 2023 · db5eea84-ce5a-4b54-9996-515683ad9f16. This is yucky yuck (in both cases) because moving cells should be a no-op. Slider ( 1:100) repeat ( "Hello ", x) For documentation, read the PlutoUI. Contribute to fonsp/Pluto. run(notebook="mynotebookhere. image. kbkartik asked this question in Questions about using Pluto. Successfully merging a pull request may close this issue. jl, since it's easy enough for the user to change. @revise: Watch a local package and update the cell when the package source changes. If you want to try them out in your editor, specify the preview keyword argument. With the help of @disberd, here, a solution like the one provided by VSCode, Atom, or Jupyter can be found in that link. Tab - show autocomplete. Mar 13, 2021 · GitHub community articles fonsp / Pluto. It can serve as a backend for GridVisualize. fonsp / Pluto. ctrl-P: fuzzy file selector is awesome. 👀 2. I really like features of Pluto, especially live docs and ability to redefine structures, but it is really hard to use it with other libraries which mostly print into stdout. The screenshot contains the full output - there was nothing more. table is any tabular data structure supporting the Tables. 1:1234. Explore models and share results in a notebook that is. Then, the user experiences 90%% of code execution output below commands, and 10% above. This worked for me - thanks. We could have delete on the bottom left of the cell which correspond to the + button and have the other two items in the menu as they are right now. It is actively developed and loved by the Julia community. PlutoStyles. chetWS mentioned this issue on Aug 23, 2022. 4 for me even though I did ]add Plots@1. jl uses Plots. Headers h1-h6 are used. Malt. step-by-step computations for educational purposes. Worker (); julia > Malt. 8. jl and the pluto webserver. You don't want to just overwrite their file I guess. Writing a notebook is not just about writing the final document — Pluto empowers the experiments and discoveries that are essential to getting there. article () # make sure this is in its own cell! You won't see anything happen - the updated styles will only apply once the notebook is exported. js (thus using WebGL) for 2/3D data. By adjusting the compat entry, updating the environment, restarting Julia to get a fresh session and rerunning the notebook, I figured out that the Pluto version that introduced this problem is 0. Cell disabling is a feature for improving Jul 20, 2022 · Saved searches Use saved searches to filter your results more quickly It looks like a basic version of this could be implemented using Clock from PlutoUI. Hello, Trying to re-organise my Pluto notebooks (e. Strange. The items_per_page keyword argument determines the number of rows to display at one time (default is 10). jl Public Oct 3, 2020 · fonsp/Pluto. ipynb") This command will create a new Pluto notebook named sample. 5) and downgraded (remove GR, resulting in GR v0. When one increases the size of the display (Ctrl +) in Windows --- and with no Table of Contents (by mere option) and without the Live docs window (removed by the presentation mode) --- the Sep 21, 2020 · I configured WSL 2 in a windows environment and set up the docker in WSL via docker desktop for windows. jl does not automatically update. com / compleathorseplayer / Neptune. In my docker container, I started pluto: bash > docker run --rm -it -p 1234:1234 -v /d/:/notebooks hrdlzenan/xjulia:latest julia> us Mar 28, 2022 · Make sure you have an up-to-date version of both Julia and Pluto. Converting Jupyter to Pluto. Star 4. Fork 281. Call by : julia Jl2pluto [-f] inputfile. Do this again: #788 (comment) to see the debugging info that will help us find out which package. A macro @test that you can use to verify your code's correctness. You could add _pluto to the filename for example, e. Reproducibility. jl] If unspecified, outputplutonb. 12. 5) and the browser prints the home page. May 20, 2021 · jjgomezcadenas commented on May 21, 2021. Dec 18, 2020 · First, try updating all packages. Aug 16, 2020 · give a method to prevent auto-update of cells which take too long to compute to keep the notebook reactive and/or save computational resources. How to install. (comment formatted by @pankgeorg) Display interactive data tables in your Pluto notebooks. Ctrl+Shift+Delete - delete cell. jl Public archive. Code; There is a way in Pluto markdown to mix May 27, 2021 · It should be possible in Pluto to mark cells which should be disabled when starting the notebook. Changing default header and text fonts in Pluto. 0 for Mac ARM on an M1 Max with Monterey 12. It doesn't give any errors, but also Revise. See below for more information. jl". If you see something strange or if you have trouble using Pluto, let us know by opening a Github Issue. Pluto is a first-class notebook implementation for Julia with some distinguishing features such as reactivity. Not sure if this is being discussed elsewhere, but I would be important to have with_terminal (or a macro version) that could print out in real-time (instead of all at once after execution). Find and replace feature luis-mueller/Pluto. jl notebook ### is a Julia comment, it is also the file's header, i. @use_file: Watch a file and reload the content when it changes. More information can be found on the Pluto. jl or ImageIO. Jun 12, 2020 · Infinite loop when disable external package manager when using outside begin end block. Many of the Pluto notebooks have been derived from Max Lapan's work! This Julia project uses Turing as the underlying mcmc implementation. 5) pkg > add https:// github. The devtools showed some websocket did an oopsie messages, the network tab showed that the initial upgrade request was repeatedly sent. jl with Pluto. The only thing we miss is that users don't know where to look for backups, but maybe we can print static-site-generator github-pages julia-language github-actions pluto-notebooks exporting-pluto-notebooks Julia 14 70 3 1 Updated Dec 12, 2022 PlutoUI. ctrl-shift-D: suggest this duplicates line. Configuration. press "return" and that will remove all the files in the "My work". Just a little bit of a feedback of using Pluto over past weekends. See the documentation for more details. Pluto notebooks are reproducible by default. overrides () = [. Change with caution. With your help, we can make Pluto work for everyone 🌈. The same code will work in the REPL. 👍 1. jl Example Does Not Work #2250. All included one stop solution to run Pluto notebooks. the current REPL demo wrapped in our UI). . With this, I can launch a docker instance and run notebook with Julia 1. Julia's default start up folder is "C:\WINDOWS\System32", and Pluto tries to save new notebooks there. 2. Beta Was this translation helpful? Jun 9, 2020 · One thing we could do is keep the functionality the same, but instead of the initial /tmp path, we show "Save notebook", and when you click on it, it defaults to: [home dir]/funky-apricot-dolphin. The solution is to change the folder before starting Pluto. 7. When I start Pluto. jl in general works, but in Pluto nothing really happens for: begin using PyPlot. Arbitrary overrides are possible: julia > PlutoStyles. jl while RegressionAndOtherStories. With PlutoReport, we envision pluto notebooks being used for scientific May 22, 2022 · I have Julia 1. It works really well! And Distributed is pleasant to work with. Mar 4, 2021 · Prevent auto-execution of notebooks · fonsp Pluto. But instead of just saying "Pass" or "Fail", let's try to show you why a test failed. Development. This package is meant for people who already know what Pluto is, so head over to fonsp/Pluto. Jan 28, 2021 · Access console through Dev Tools and type "localStorage. filchristou mentioned this issue on Oct 16, 2022. PlutoDevMacros. So not the original macro, but a macro that transforms the code into something that has the intended references and definitions. remote_eval_fetch (worker, :( 1 + 1 )) Oct 30, 2023 · The cause. Learn more. If you want to quickly share your thoughts, use the quick and easy feedback form on the bottom of your Pluto notebook. 37), I cannot expand vectors anymore by clicking on the "more" button. jl [outputplutonb. Just install this and get going! Abstracts and automates the following processes: Installing Julia (comes with its own binary) Installing Pluto; Running Pluto; Creating a system image for better performance Many input elements only have a finite number of possible values, for example, PlutoUI. If you don't have npm, then run julia --project and then. It can be done with the following code: using Plots. fonsp closed this as completed on Dec 20, 2020. Notifications Fork 281; Star 4. Interrupt cell execution #967. jl fork seems to provide this, but has not been keeping up with the Pluto. Pluto can be launched either through the Applications Oct 13, 2020 · Rewrite parts of Pluto to make it run in the browser -- EDIT: this is done A first step would be to run the frontend standalone, with a JS interpreter as backend for example. The major feature contribution of this package is the @fromparent macro, which allows to load a local package in Pluto and have its code re-parsed and updated upon manual re-run of the cell containing the macro call. - [`Pluto. HTTP ERROR 404. Actually more generally can Pluto prevent this kind of needless downstream updates and/or is there a way to implement such a thing? Aug 16, 2020 · Pluto uses Distributed to create worker processes and to send Julia data structures between them. Note that Pluto is designed to be _zero-configuration_, and most users should not (have to) change these settings. Plots. jl, but AFAICT that would trigger downstream cell updates whether or not the file contents have changed. I am using Julia (v1. In markdown I can create headings This is a heading this is a subheading this is a subsubheading Each one of these shows up in the VS code side bar, and I can go directly to that part of whatever I'm writing. This was formerly a non-registered package named PlutoUtils. jl development by creating an account on GitHub. This means both code and output take only 700 pixels of horizontal space - that is less than half of a screen for a typical resolution of 1920px, and even less for higher resolutions. This introduces a pretty serious limitation in the long-term management of the notebooks. The Neptune. Jan 28, 2024 · Thank you for all the great work on Pluto! I enjoy working with the notebooks sooo much! 🎈 After updating packages recently (Pluto 0. toml / Manifest. Only some output: PyObject < matplotlib. mp4. run()'" process). 17. jl notebooks - or any other static Pluto asset, really. jl#437 seems to solve only minimalistic printing needs. Along with the markdown and latex support, one can harness the interactivity of PlutoUI to make anything that they wish to make. jl preselected. Explanation: I typically like to have a server like Jupyter or Pluto running in the background so that I can access it through the browser any time (with out having to go through the "open a terminal -> type julia -e 'using Pluto; Pluto. Here is an example: HTML parsing and interpolation is powered by HypertextLiteral Jun 8, 2023 · I also fiddled around with HTTP. jl (alpha release) Visual, reactive testing library for Julia. clear ()" in console at blinking cursor. 16 and earlier versions, but tiny with Pluto 0. jl main branch. This functionality is now available via AbstractPlutoDingetjes. More than 100 million people use GitHub to discover, fork, and contribute to over 330 million projects. The notebook will simply not open. jl is using (Cairo)Makie. 4 and the Pluto package appears to execute, but Pluto is not found at the correct location on my system. Pluto now includes some features to allow the user to selectively introduce a sprinkling of mutable state where needed. PlutoPDF. Instead you have to shut down & restart the kernel as you make edits. A companion project ( SR2StanPluto. e. 3) with Pluto (v0. With this setup, a Pluto notebook still takes 20-30 Apr 29, 2020 · Development. 3 in the REPL, so it seems Pluto is keeping its own package version. Clicking on create notebook, gives a blank page after waiting for firefox to fail all . jl file is run as a standard Julia file. jl defaults to "inputfile-pluto. jl was made by us, but anyone can create their own special widgets! We give you full control over HTML, CSS and JS, with powerful API to connect a web component to Julia. jl Feb 5, 2021 · Pluto = "= 0. jl with funky-apricot-dolphin. jl-> hello_pluto. May 29, 2020 · About suggestion 2: while ### A Pluto. 🎈 Simple reactive notebooks for Julia. The plots look normal with Pluto 0. The alternative solution, which is already possible, disambiguates by making the order explicit! When the following function instantiate_env() is executed automatically when a notebook is opened, a notebook specific Pkg environment (named notebook. 3 participants. This information is then stored in the notebook file. jl in your current working directory. jupyter2pluto ( "sample. Dec 1, 2021 · How can I make sure Pluto uses Plots v1. Pluto debug logs indicated some read after EOF directly after the Jul 29, 2021 · For notebooks with very long-to-execute cells, there is demand for a Jupyter-like experience. Pluto is such a good tool for learning how to program, and having line numbers would make it even better. Max Lapan has a version using Jupyter. Apr 8, 2020 · Displaying the line numbers on hover does not really help with this issue as only one person can hold the mouse at a time, and the cursor can block the line number. When I check netstat, I see that the server is listening on 127. I raised the issue before but it was deleted. Then there would be a short CSS defining the color scheme (which can be swapped out for a 'dark mode CSS') and a longer CSS close to what it is today. css to use more CSS variables defining a color scheme, font, etc. For example, Replace=with~. 16". If that didn't work, then that means that there is another package holding back Pluto. Using the package manager for the first time can take a few minutes - hang in there! To run the notebook server: Neptune will open in your browser, and you can get started! Cells will execute like Jupyter Notebooks. hello. jl. You can find more information on the documentation. It would be super useful to have a 'Find' and 'Find and Replace' utility in Pluto! :) Related to this, I think it would be useful if one could toggle between showing/collapsing all code cells. jl, a Julia implementation of the CommonMark specification. Author. I sincerely hope the delete button is exposed as in Jul 23, 2020 · From worker 2:WARNING: Force throwing a SIGINT. Jan 15, 2022 · The source snippet uses spaces for indents while the Pluto editor uses tabs. 5. Slider(5:15) can only have 11 values. Mar 31, 2021 · I tried to launch Pluto using Pluto. Oct 10, 2020 · The notebook is still ambiguous, you can still solve it by following Pluto's reactivity rules in your head, and it still depends on cell order. However, this doesn't seem to work in Pluto. To convert a Jupyter notebook into a Pluto notebook, use the following Julia code snippet after installing Jupyter2Pluto: using Jupyter2Pluto. That being said I do agree that we need more documentation in this package. 9k. js scripts need to be loaded from cdn. Tagged version 4. Depending on the programming background level, the viewer/user might be spending let's say 90% of their time writing Julia code and/or scripts, and 10% on Pluto. jl if you're new! If you want to install the Pluto CLI, some conversion scripts (Jupyter, Literate), and more (see the list below), you can install PlutoUtils. 🌐 Pluto – one year later (25 min) at Juliacon 2021 🌐. article (; preview = true) Feb 24, 2020 · Fortunately, Pluto isn't trying to be a frontend for every language, so it doesn't have to worry about this 😁 ️ 10 fonsp, shashi, elalaouifaris, ScottPJones, Moelf, schneiderfelipe, henriquebecker91, sosiristseng, miguelraz, and ParadaCarleton reacted with heart emoji Jl2pluto. jl interface. Styles I use myself get applied by default: julia > using PlutoStyles. jl. jl notebook: using PlutoArticles. jl#30. jl? So I am trying to do the new julia course, but I run julia on a remote host (on the LAN). jl featured notebook. It is used by Pluto. For finite inputs like the slider, PlutoSliderServer can run the slider server in advance, and precompute the results to all possible inputs (in other words: precompute the response to all possible requests). run () See the package source code for the actual CSS. After updating Pluto on Arch Linux and launching, it opens, but shows Loading. Problem Given a file external. time travel to replay the execution step-by-step. 19. build_node ( joinpath ( pwd (), "node" )) After Pluto. I do not see the same problem with docker images from Jupyter. Let's say, I want to show and save multiple plots. PyPlot. the first sequence of bytes you get when reading the file. PlutoExtras. 0) Mar 2, 2020 · fonsp commented on Jun 9, 2020. net. It uses the Pluto 💁 API to make objects available inside JS to pass plot data from Julia to HTML5. It is now read-only. 6 participants. The wrapper mostly defines a custom show method specifically optimized for displaying inside of Pluto. # Keyword arguments: `title` header to this element, defaults to "Table of Contents" `indent` flag indicating whether to vertically align elements by hierarchy `depth` value to limit the header elements, should be in range 1 to 6 (default = 3) `aside` fix the element to right of page, defaults to true `include Apr 5, 2020 · I tried running the example again on Pluto v0. x_vals = rand ( 100 ) begin. You signed out in another tab or window. Reload to refresh your session. The macro @markdown lets you write HTML inside Pluto notebooks. jsdelivr. However, it means that Pluto notebooks cannot use Distributed, because your notebook's code is executed on a slave process - you can't create processes, and you can accidentally control other running notebooks. env) is activated. AxesImage object at 0x7f08ddf99700>. jl · Discussion #968 · GitHub. jl creating a report or illustration. jl file itself so that it is executed if the notebook. This project is inspired by Hypertext Literal by Mike Bostock ( @mbostock MIT license. jl : Convert an ordinary Julia file to Pluto notebook. To my understanding, this would separate the JIT compilation time - which should be finished by the time the URL is pasted - and give us the load time alone. Apr 19, 2021 · You signed in with another tab or window. 0 is the last more or less complete set of scripts covering the old chapters 1 If anyone else has this problem, it would be very helpful if you would run #1207 (comment) and copy-paste the result here. jl and adds the options of providing custom javascript functions to attach to the plolty JS events. This caused Pluto to automatically add those two tabs above when starting a newline, that I then went back and manually re-wrote as 8 spaces in the video clip above to demonstrate the different behaviors in the final rendering. jl", launch_browser=false), waited some time, and copy-pasted the shown URL in a Firefox tab. 57. Unfortunately I have already updated GR (added + update to v0. One more reason for re-assigning variables is usage of temporary values with short names. Jun 3, 2023 · Pluto has nothing to do with it. run(launch_browser=false, require_secret_for_open_links=false, require_secret_for_access=false) and I see the same issue as before. PlutoTest. PlutoUI. Both packages have very similar content, but StatisticalRethinking. Malt is a multiprocessing package for Julia. Fork 1. on the home page for my and featured notebooks. This package provides a wrapper type PlutoPlot around the Plot type from PlotlyBase. A small package with interactive elements to be used in Pluto. @use_task: Run a process and relay it's output to the rest of your notebook. julia > worker = Malt. Also, when I use the last one to show keyboard shortcuts, I see two others that are unlisted in the FAQ that both work: Ctrl+Q - interrupt notebook. jl Public. jl installed first! Next, open up a Julia REPL with the julia command in a terminal. This package provides some widgets to be used in Pluto, including an extended version of the TableOfContents from PlutoUI and a new experimental bond container ( BondTable ). js scripts queries from cdn. Notifications. Pluto saves cells in the . Unanswered. When developing, it's nice to have the node_modules folder locally. At least if we were going to hide it we should have snappy deletion with keyboard first. It would be great to have an ability to print something inside Pluto notebooks. I wrote some faulty code due to which cell keeps running. This makes it easier to maintain the package GitHub is where people build software. cq zg ae zw xd cd jx gg hz oj