https://pvzm.net/ to play [Read-only GitHub mirror] pvzm.net
modded vs pvz plants-vs-zombies plantsvszombies javascript online zombie noads jspvz pvzm game plants plant
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dual-license to respect original license terms (#49)

authored by

Clay and committed by
GitHub
2eb39250 e95aacf3

+88 -11
+76 -1
LICENSE.md
··· 1 + # License 2 + 3 + This project is dual-licensed. Different parts of the codebase are covered by different licenses as described below. 4 + 5 + ## Part 1: Original PVZM Content 6 + 7 + All original code and content created by the Plants vs. Zombies: MODDED team (ROBINET13 & Clay [ClaytonTDM]) is licensed under the **PolyForm Noncommercial License 1.0.0**. 8 + 9 + <details open> 10 + 1 11 # PolyForm Noncommercial License 1.0.0 2 12 3 13 <https://polyformproject.org/licenses/noncommercial/1.0.0> ··· 132 142 133 143 --- 134 144 135 - Required Notice: Plants vs. Zombies: MODDED (https://github.com/Plants-vs-Zombies-MODDED/game) © 2025 by ROBINET13 & Clay (ClaytonTDM) is licensed under PolyForm Noncommercial License 1.0.0. This license applies only to original code/content created by the modding team. All Plants vs. Zombies intellectual property remains the exclusive property of PopCap Games and Electronic Arts (EA). 145 + Required Notice: Plants vs. Zombies: MODDED (https://github.com/Plants-vs-Zombies-MODDED/game) © 2025 by ROBINET13 & Clay (ClaytonTDM) is dual-licensed. Original PVZM content is licensed under PolyForm Noncommercial License 1.0.0. Code derived from the original port by JiangNanGame and LonelyStar is licensed under the Changjiang River License (Version 3, July 2020). All Plants vs. Zombies intellectual property remains the exclusive property of PopCap Games and Electronic Arts (EA). 146 + 147 + --- 148 + 149 + </details> 150 + 151 + ## Part 2: Original Port Code 152 + 153 + Code derived from the original JavaScript port created by [JiangNanGame](https://github.com/JiangNanGame) and LonelyStar is licensed under the **Changjiang River License (Version 3, July 2020)**. 154 + 155 + --- 156 + 157 + <details open> 158 + 159 + # The Changjiang River License 160 + 161 + ## Version 3, July, 2020 162 + 163 + Hello! When you see this text, it means that you are using an open source work protected by the The Changjiang River License. 164 + 165 + In order to protect the rights of developers of the work, you must abide by the requirements of this license when you use, copy, modify and publish it for the second time. 166 + 167 + ### I. Definitions 168 + 169 + 1. "The License" means *The Changjiang River License*. 170 + 171 + 2. "The work" means the whole and any partial content of the open source work that is protected by the license. 172 + 173 + 3. "The author" means the natural or legal person who creates and distributes the work. 174 + 175 + 4. "The user" means the natural or legal person who uses, copies, modifies, and republishes the work. 176 + 177 + 5. "The secondly modified works" means the products of the user's second modification and creation of the work. 178 + 179 + 6. "Secondary release" means the behavior of the user to publish the second modified works and use them to produce other materials. 180 + 181 + ### II. The Rights Of User 182 + 183 + 1. For non-profit purposes, the user can use, copy and modify the work. 184 + 185 + 2. For non-profit purposes, the user can secondary release the modified works and decide to open its source or not. 186 + 187 + ### III. The Obligations Of User 188 + 189 + 1. The user shall not apply the work directly or indirectly for any profitable purpose. 190 + 191 + 2. The user must always keep the copy of the license, the production team list, the disclaimer and other important information in the work complete. 192 + 193 + 3. When promoting and publishing the secondly modified works, the user must indicate the copyright information such as the author in the promotional materials. 194 + 195 + 4. When opening the source of the secondly modified works, the user must continue to use the license for it. 196 + 197 + 5. The user shall not dissect a part of the work separately for other projects. 198 + 199 + ### IV. Punishments 200 + 201 + 1. If the user violates any of the provisions of the lisence, all rights granted in the lisence will be automatically revoked. The author also has the right to pursue legal responsibility. 202 + 203 + ### V. Other Instructions 204 + 205 + 1. [JiangNanGame](http://www.jiangnangame.com) has the right to update the specific content of the license. After the license is updated, all works adopting the license will be deemed to be automatically replaced with the latest version of the license. 206 + 207 + 2. Users should be aware that there may be defects in the work. The author is not responsible for any losses caused by these defects. 208 + 209 + 3. The license does not provide users with any authorization of the brand intellectual property rights of the work. These rights belong to the author. 210 + </details>
+9 -7
README.md
··· 8 8 9 9 ### To get started playing the newest version, head over to our [**ad-free** site!](https://pvzm.net) 10 10 11 - ## Legal Info 11 + --- 12 + 13 + <details> 14 + <summary><b>Legal Info</b></summary> 12 15 13 16 The developers/modders of this web game **do not** claim ownership of any assets from the official _Plants vs. Zombies_ franchise. Our game has **no monetization** features (e.g. advertisements, popups) 14 17 15 - **Hosting this fangame without proper attribution violates the Required Notice section of the 16 - PolyForm Noncommercial License. We actively monitor for unauthorized use and will contact sites and potentially hosting platforms to address these violations.** 18 + **Hosting this fangame without proper attribution violates the Required Notice section of our dual license (PolyForm Noncommercial License 1.0.0 and the Changjiang River License). We actively monitor for unauthorized use and will contact sites and potentially hosting platforms to address these violations.** 17 19 18 20 ### If requested by an official source, we will promptly take down this GitHub repo and the Cloudflare pages sites. 19 21 20 22 You may email an official complaint to [contact@pvzm.net](mailto:contact@pvzm.net). 21 23 22 - --- 24 + Plants vs. Zombies: MODDED © 2025 by ROBINET13 & Clay (ClaytonTDM) is dual-licensed. Original PVZM content is licensed under [PolyForm Noncommercial License 1.0.0](LICENSE.md#polyform-noncommercial-license-100). Code derived from the original port by JiangNanGame and LonelyStar is licensed under the [Changjiang River License (Version 3, July 2020)](LICENSE.md#the-changjiang-river-license). All Plants vs. Zombies intellectual property remains the exclusive property of PopCap Games and Electronic Arts (EA). 23 25 24 - ###### Plants vs. Zombies: MODDED © 2025 by ROBINET13 & Clay (ClaytonTDM) is licensed under [PolyForm Noncommercial License 1.0.0](https://github.com/Plants-vs-Zombies-MODDED/game/blob/main/LICENSE.md). This license applies only to original code/content created by the modding team. All Plants vs. Zombies intellectual property remains the exclusive property of PopCap Games and Electronic Arts (EA). 26 + Plants vs. Zombies MODDED is an unofficial modification and is not affiliated with, endorsed by, or associated with PopCap Games, Electronic Arts (EA), or the official Plants vs. Zombies game. All intellectual property, trademarks, and copyrights related to the original Plants vs. Zombies game are the property of PopCap Games and EA. All code in this fangame is original, based on a PvZ webgame originally created by JiangNan Game Development Company and LonelyStar. This mod does not use any code written or owned by PopCap Games or EA. This mod is created by fans for entertainment purposes only, and no commercial gain is sought or obtained from its distribution. Use of this mod is at your own risk, and the creators of the mod are not liable for any damages or issues that may arise from its use. 25 27 26 - ###### Plants vs. Zombies MODDED is an unofficial modification and is not affiliated with, endorsed by, or associated with PopCap Games, Electronic Arts (EA), or the official Plants vs. Zombies game. All intellectual property, trademarks, and copyrights related to the original Plants vs. Zombies game are the property of PopCap Games and EA. All code in this fangame is original, based on a PvZ webgame originally created by JiangNan Game Development Company and LonelyStar. This mod does not use any code written or owned by PopCap Games or EA. This mod is created by fans for entertainment purposes only, and no commercial gain is sought or obtained from its distribution. Use of this mod is at your own risk, and the creators of the mod are not liable for any damages or issues that may arise from its use. 28 + Uses of the PopCap Games or Electronic Arts (EA) names are for identification purposes only and do not imply an endorsement by PopCap Games or EA. 27 29 28 - ###### Uses of the PopCap Games or Electronic Arts (EA) names are for identification purposes only and do not imply an endorsement by PopCap Games or EA. 30 + </details>
+1 -1
game/index.html
··· 933 933 <input type="button" value="NEXT LEVEL!" name="btnNextLevel" id="btnNextLevel" /> 934 934 </div> 935 935 <div id="dProcess"> 936 - <input class="button" type="button" value="Close" onclick="SetHidden($('dProcess'))" style="margin-top: 380px" /> 936 + <input class="button" type="button" value="Close" onclick="SetHidden($('dProcess'))" style="margin-top: 410px" /> 937 937 <script> 938 938 document.write( 939 939 '<a style="margin-left:50px;cursor:url(images/interface/Pointer.cur),pointer;color:#FF0;font-size:15px;text-decoration:none;font-weight:bold;display:none" target="_blank" ></a>'
+2 -2
game/js/Cfunction.js
··· 3071 3071 "div", 3072 3072 0, 3073 3073 { 3074 - innerHTML: atob( 3075 - "PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Y29sb3I6I2JiYjt3aWR0aDo4NSU7ZGlzcGxheTpibG9jazttYXJnaW46MTVweCBhdXRvIDAgYXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiNmNjA7Ij5XZWxjb21lIHRvIFBsYW50cyB2cy4gWm9tYmllczogTU9EREVEPGJyPjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6I2VlZTsiPlBsYW50cyB2cy4gWm9tYmllcyBNT0RERUQgJmNvcHk7IDIwMjUgYnkgUk9CbE5FVDEzIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vUGxhbnRzLXZzLVpvbWJpZXMtTU9EREVEL2dhbWUvYmxvYi9tYWluL0xJQ0VOU0UubWQiPlBvbHlGb3JtIE5vbmNvbW1lcmNpYWwgTGljZW5zZSAxLjAuMDwvYT4uIFRoaXMgbGljZW5zZSBhcHBsaWVzIG9ubHkgdG8gb3JpZ2luYWwgY29kZS9jb250ZW50IGNyZWF0ZWQgYnkgdGhlIG1vZGRpbmcgdGVhbS4gQWxsIFBsYW50cyB2cy4gWm9tYmllcyBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmVtYWlucyB0aGUgZXhjbHVzaXZlIHByb3BlcnR5IG9mIFBvcENhcCBHYW1lcyBhbmQgRWxlY3Ryb25pYyBBcnRzIChFQSkuPC9zcGFuPjxicj48YnI+UGxhbnRzIHZzLiBab21iaWVzIE1PRERFRCBpcyBhbiB1bm9mZmljaWFsIG1vZGlmaWNhdGlvbiBhbmQgaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCwgZW5kb3JzZWQgYnksIG9yIGFzc29jaWF0ZWQgd2l0aCBQb3BDYXAgR2FtZXMsIEVsZWN0cm9uaWMgQXJ0cyAoRUEpLCBvciB0aGUgb2ZmaWNpYWwgUGxhbnRzIHZzLiBab21iaWVzIGdhbWUuIEFsbCBpbnRlbGxlY3R1YWwgcHJvcGVydHksIHRyYWRlbWFya3MsIGFuZCBjb3B5cmlnaHRzIHJlbGF0ZWQgdG8gdGhlIG9yaWdpbmFsIFBsYW50cyB2cy4gWm9tYmllcyBnYW1lIGFyZSB0aGUgcHJvcGVydHkgb2YgUG9wQ2FwIEdhbWVzIGFuZCBFQS4gQWxsIGNvZGUgaW4gdGhpcyBmYW5nYW1lIGlzIG9yaWdpbmFsLCBiYXNlZCBvbiBhIFB2WiB3ZWJnYW1lIG9yaWdpbmFsbHkgY3JlYXRlZCBieSBKaWFuZ05hbiBHYW1lIERldmVsb3BtZW50IENvbXBhbnkgYW5kIExvbmVseVN0YXIuIFRoaXMgbW9kIGRvZXMgbm90IHVzZSBhbnkgY29kZSB3cml0dGVuIG9yIG93bmVkIGJ5IFBvcENhcCBHYW1lcyBvciBFQS4gVGhpcyBtb2QgaXMgY3JlYXRlZCBieSBmYW5zIGZvciBlbnRlcnRhaW5tZW50IHB1cnBvc2VzIG9ubHksIGFuZCBubyBjb21tZXJjaWFsIGdhaW4gaXMgc291Z2h0IG9yIG9idGFpbmVkIGZyb20gaXRzIGRpc3RyaWJ1dGlvbi4gVXNlIG9mIHRoaXMgbW9kIGlzIGF0IHlvdXIgb3duIHJpc2ssIGFuZCB0aGUgY3JlYXRvcnMgb2YgdGhlIG1vZCBhcmUgbm90IGxpYWJsZSBmb3IgYW55IGRhbWFnZXMgb3IgaXNzdWVzIHRoYXQgbWF5IGFyaXNlIGZyb20gaXRzIHVzZS48YnI+PGJyPlVzZXMgb2YgdGhlIFBvcENhcCBHYW1lcyBvciBFbGVjdHJvbmljIEFydHMgKEVBKSBuYW1lcyBhcmUgZm9yIGlkZW50aWZpY2F0aW9uIHB1cnBvc2VzIG9ubHkgYW5kIGRvIG5vdCBpbXBseSBhbiBlbmRvcnNlbWVudCBieSBQb3BDYXAgR2FtZXMgb3IgRUEuPGJyPjxicj48dT5EbyBub3QgcmVtb3ZlIHRoaXMgd2FybmluZy48L3U+IERvaW5nIHNvIDxzcGFuIHN0eWxlPSJjb2xvcjpyZWQiPnZpb2xhdGVzPC9zcGFuPiB0aGUgdGVybXMgb2YgdGhlIGxlZ2FsbHktYmluZGluZyBQb2x5Rm9ybSBOb25jb21tZXJjaWFsIExpY2Vuc2UsIGlmIG9yaWdpbmFsIGNvZGUvY29udGVudCBjcmVhdGVkIGJ5IHRoZSBtb2RkaW5nIHRlYW0gaXMgaW5jbHVkZWQuIEFzIHJlcXVpcmVkIGJ5IHRoZSBsaWNlbnNlLCB0aGUgZm9sbG93aW5nIG5vdGljZSBtdXN0IGJlIHByZXNlcnZlZCBpbiBhbGwgY29waWVzIG9yIGRpc3RyaWJ1dGlvbnMgb2YgdGhpcyBzb2Z0d2FyZTogPGk+UmVxdWlyZWQgTm90aWNlOiBQbGFudHMgdnMuIFpvbWJpZXM6IE1PRERFRCAoaHR0cHM6Ly9naXRodWIuY29tL1BsYW50cy12cy1ab21iaWVzLU1PRERFRC9nYW1lKTwvaT48YnI+PGJyPjxiPklmIHJlcXVlc3RlZCBieSBhbiBvZmZpY2lhbCBzb3VyY2UsIHdlIHdpbGwgcHJvbXB0bHkgdGFrZSBkb3duIHRoaXMgZmFuIGdhbWUgYW5kIHRoZSBhc3NvY2lhdGVkIEdpdEh1YiByZXBvLiBZb3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGVtYWlsIGxpc3RlZCBvbiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vUGxhbnRzLXZzLVpvbWJpZXMtTU9EREVEL2dhbWUvYmxvYi9tYWluL1JFQURNRS5tZCNsZWdhbC1pbmZvIj5odHRwczovL2dpdGh1Yi5jb20vUGxhbnRzLXZzLVpvbWJpZXMtTU9EREVEL2dhbWUvYmxvYi9tYWluL1JFQURNRS5tZCNsZWdhbC1pbmZvPC9hPi48L2I+PC9zcGFuPg" 3074 + innerHTML: window["bota".split("").reverse().join("")]( 3075 + "PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Y29sb3I6I2JiYjt3aWR0aDo4NSU7ZGlzcGxheTpibG9jazttYXJnaW46MTVweCBhdXRvIDAgYXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiNmNjAiPldlbGNvbWUgdG8gUGxhbnRzIHZzLiBab21iaWVzOiBNT0RERUQ8YnI+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojZWVlIj5QbGFudHMgdnMuIFpvbWJpZXM6IE1PRERFRCAoPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1BsYW50cy12cy1ab21iaWVzLU1PRERFRC9nYW1lIj5odHRwczovL2dpdGh1Yi5jb20vUGxhbnRzLXZzLVpvbWJpZXMtTU9EREVEL2dhbWU8L2E+KSCpIDIwMjUgYnkgUk9CSU5FVDEzICYgQ2xheSAoQ2xheXRvblRETSkgaXMgZHVhbC1saWNlbnNlZC4gT3JpZ2luYWwgUFZaTSBjb250ZW50IGlzIGxpY2Vuc2VkIHVuZGVyIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QbGFudHMtdnMtWm9tYmllcy1NT0RERUQvZ2FtZS9ibG9iL21haW4vTElDRU5TRS5tZCNwb2x5Zm9ybS1ub25jb21tZXJjaWFsLWxpY2Vuc2UtMTAwIj5Qb2x5Rm9ybSBOb25jb21tZXJjaWFsIExpY2Vuc2UgMS4wLjA8L2E+LiBDb2RlIGRlcml2ZWQgZnJvbSB0aGUgb3JpZ2luYWwgcG9ydCBieSBKaWFuZ05hbkdhbWUgYW5kIExvbmVseVN0YXIgaXMgbGljZW5zZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QbGFudHMtdnMtWm9tYmllcy1NT0RERUQvZ2FtZS9ibG9iL21haW4vTElDRU5TRS5tZCN0aGUtY2hhbmdqaWFuZy1yaXZlci1saWNlbnNlIj5DaGFuZ2ppYW5nIFJpdmVyIExpY2Vuc2UgKFZlcnNpb24gMywgSnVseSAyMDIwKTwvYT4uIEFsbCBQbGFudHMgdnMuIFpvbWJpZXMgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJlbWFpbnMgdGhlIGV4Y2x1c2l2ZSBwcm9wZXJ0eSBvZiBQb3BDYXAgR2FtZXMgYW5kIEVsZWN0cm9uaWMgQXJ0cyAoRUEpLjwvc3Bhbj48YnI+PGJyPjx1PkRvIG5vdCByZW1vdmUgdGhpcyB3YXJuaW5nLjwvdT4gRG9pbmcgc28gPHNwYW4gc3R5bGU9ImNvbG9yOnJlZCI+dmlvbGF0ZXM8L3NwYW4+IHRoZSB0ZXJtcyBvZiB0aGUgbGVnYWxseS1iaW5kaW5nIGR1YWwgbGljZW5zZSAoUG9seUZvcm0gTm9uY29tbWVyY2lhbCBMaWNlbnNlIGFuZCBDaGFuZ2ppYW5nIFJpdmVyIExpY2Vuc2UpLCBpZiBjb2RlIGNvdmVyZWQgYnkgZWl0aGVyIGxpY2Vuc2UgaXMgaW5jbHVkZWQuIEFzIHJlcXVpcmVkIGJ5IHRoZSBsaWNlbnNlcywgdGhlIGFib3ZlIG5vdGljZSBtdXN0IGJlIHByZXNlcnZlZCBpbiBhbGwgY29waWVzIG9yIGRpc3RyaWJ1dGlvbnMgb2YgdGhpcyBzb2Z0d2FyZS48YnI+PGJyPlBsYW50cyB2cy4gWm9tYmllcyBNT0RERUQgaXMgYW4gdW5vZmZpY2lhbCBtb2RpZmljYXRpb24gYW5kIGlzIG5vdCBhZmZpbGlhdGVkIHdpdGgsIGVuZG9yc2VkIGJ5LCBvciBhc3NvY2lhdGVkIHdpdGggUG9wQ2FwIEdhbWVzLCBFbGVjdHJvbmljIEFydHMgKEVBKSwgb3IgdGhlIG9mZmljaWFsIFBsYW50cyB2cy4gWm9tYmllcyBnYW1lLiBBbGwgaW50ZWxsZWN0dWFsIHByb3BlcnR5LCB0cmFkZW1hcmtzLCBhbmQgY29weXJpZ2h0cyByZWxhdGVkIHRvIHRoZSBvcmlnaW5hbCBQbGFudHMgdnMuIFpvbWJpZXMgZ2FtZSBhcmUgdGhlIHByb3BlcnR5IG9mIFBvcENhcCBHYW1lcyBhbmQgRUEuIEFsbCBjb2RlIGluIHRoaXMgZmFuZ2FtZSBpcyBvcmlnaW5hbCwgYmFzZWQgb24gYSBQdlogd2ViZ2FtZSBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgSmlhbmdOYW4gR2FtZSBEZXZlbG9wbWVudCBDb21wYW55IGFuZCBMb25lbHlTdGFyLiBUaGlzIG1vZCBkb2VzIG5vdCB1c2UgYW55IGNvZGUgd3JpdHRlbiBvciBvd25lZCBieSBQb3BDYXAgR2FtZXMgb3IgRUEuIFRoaXMgbW9kIGlzIGNyZWF0ZWQgYnkgZmFucyBmb3IgZW50ZXJ0YWlubWVudCBwdXJwb3NlcyBvbmx5LCBhbmQgbm8gY29tbWVyY2lhbCBnYWluIGlzIHNvdWdodCBvciBvYnRhaW5lZCBmcm9tIGl0cyBkaXN0cmlidXRpb24uIFVzZSBvZiB0aGlzIG1vZCBpcyBhdCB5b3VyIG93biByaXNrLCBhbmQgdGhlIGNyZWF0b3JzIG9mIHRoZSBtb2QgYXJlIG5vdCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzIG9yIGlzc3VlcyB0aGF0IG1heSBhcmlzZSBmcm9tIGl0cyB1c2UuPGJyPjxicj5Vc2VzIG9mIHRoZSBQb3BDYXAgR2FtZXMgb3IgRWxlY3Ryb25pYyBBcnRzIChFQSkgbmFtZXMgYXJlIGZvciBpZGVudGlmaWNhdGlvbiBwdXJwb3NlcyBvbmx5IGFuZCBkbyBub3QgaW1wbHkgYW4gZW5kb3JzZW1lbnQgYnkgUG9wQ2FwIEdhbWVzIG9yIEVBLjxicj48YnI+PGI+SWYgcmVxdWVzdGVkIGJ5IGFuIG9mZmljaWFsIHNvdXJjZSwgd2Ugd2lsbCBwcm9tcHRseSB0YWtlIGRvd24gdGhpcyBmYW4gZ2FtZSBhbmQgdGhlIGFzc29jaWF0ZWQgR2l0SHViIHJlcG8uIFlvdSBtYXkgY29udGFjdCB1cyB1c2luZyB0aGUgZW1haWwgbGlzdGVkIG9uIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9QbGFudHMtdnMtWm9tYmllcy1NT0RERUQvZ2FtZS9ibG9iL21haW4vUkVBRE1FLm1kI2xlZ2FsLWluZm8iPmh0dHBzOi8vZ2l0aHViLmNvbS9QbGFudHMtdnMtWm9tYmllcy1NT0RERUQvZ2FtZS9ibG9iL21haW4vUkVBRE1FLm1kI2xlZ2FsLWluZm88L2E+LjwvYj48L3NwYW4+" 3076 3076 ), 3077 3077 }, 3078 3078 0