Documentation

Getting Started

Before getting Started

Thank You So Much for your Interest / for Purchasing Grupo! We know there are going to be times when you need our help. Please feel free to contact us anytime. [email protected]

Grupo is a JSON based PHP chatroom script with more than 110+ Features. Grupo Full Features List - Click here

System Requirements

Most current web servers with PHP & MySQL installed will be capable of running Grupo. You can check whether all requirements are met just by uploading & running requirements.php file in your server

Need help with installation? Don't worry, We do provide free installation service. We will need Codecanyon Purchase code & hosting login details so we can upload the files and install the product. Once you have purchased Grupo, send us the details to [email protected]

Minimum Requirements
  • PHP 7.0+
  • Apache or NGINX or Lite Speed
  • mod_rewrite or NGINX rewrite rules
  • MySQL or MariaDB
  • PDO PHP Extension
  • cURL PHP Extension
  • SSL Certificate – (For proper working of Voice Message)
  • OpenSSL PHP Extension
  • MBString PHP Extension
  • GD PHP Extension
  • IMAP PHP Extension
  • Json PHP Extension
  • FileInfo PHP Extension
  • Zip PHP Extension
  • Enable Output Buffering (Set output_buffering to 4096 or higher)

NGINX rewrite rules

If you are installing Grupo on NGNIX server add the following rules in your Nginx configuration file :

If you are installing Grupo in Main Folder :

        location / { 
            try_files $uri $uri/ /index.php?$args;         
        }
        location ~ /(knob|door|key) {
   		    deny all;
   		    return 404;
		}        
        location ~* /(knob|door|key|gem)/(.+)\.(jpg|jpeg|png|gif|svg|flv|mp3|jfif|wav|mp4|ogg|pdf|webm|bmp)$ {
        	allow all;
		}		 
    	location ~ /(knob|door|key|gem)/(.+)\.[^\.]+$ {
     		deny all;
 		}            
		

If you are installing Grupo in Subfolder : (Rename subfoldername with yours)

        location /subfoldername/ { 
            try_files $uri $uri/ /subfoldername/index.php?$args;         
        }
        location ~ /(subfoldername/knob|subfoldername/door|subfoldername/key) {
   		    deny all;
   		    return 404;
		}        
        location ~* /(subfoldername/knob|subfoldername/door|subfoldername/key|subfoldername/gem)/(.+)\.(jpg|jpeg|png|gif|svg|flv|mp3|jfif|wav|mp4|ogg|pdf|webm|bmp)$ {
        	allow all;
		}		 
    	location ~ /(subfoldername/knob|subfoldername/door|subfoldername/key|subfoldername/gem)/(.+)\.[^\.]+$ {
     		deny all;
 		}
		

Installing Grupo

  1. Unzip the contents of the zip file downloaded from Codecanyon to a folder on your computer.
  2. Upload the entire grupo folder contents to your hosting server
  3. Make sure all files & folders are set with correct permissions. All files should be 644 & all folders should be 775
  4. Make sure your database collation is utf8mb4_unicode_ci (For Non Latin Characters)
  5. Make sure ONLY_FULL_GROUP_BY is disabled (This is usually disabled in most servers) - Reference
  6. Now visit <yourgrupodomain>/install using your web browser to run the installer process.
    • If you see a blank page, make sure you have enabled Output Buffering & set to 4096 or higher.
    • If you see a 404 page, make sure you have uploaded the .htaccess file or if you are running on NGNIX make sure you have added the rewrite rules in your configuration file
  7. Follow the instructions on screen to install Grupo.
  8. On Successful Installation, You will be redirected to Login Page
  9. Add the following command in your cronjobs to run every 1 or 5 minutes
    - wget -q -O - <yourgrupodomain>/act/cronjob/
    Replace <yourgrupodomain> with your domain address.

If you are facing any issues during or after installation, kindly send us your codecanyon purchase code & hosting details to [email protected]

Upgrade Grupo V2.x to Grupo V2.5 (For Existing Users)

Important : You must backup all your existing Grupo files & database before upgrading to latest version. We are not responsible for the loss of any data.

  1. Download the latest version from Codecanyon Downloads.
  2. Unzip the contents of the zip file to a folder on your computer.
  3. Copy/Replace/Delete the following files in your hosting server.

    • Replace door folder
    • Replace knob folder
    • Replace riches folder
    • Replace gem/mine folder
    • Replace gem/tone folder
    • Replace or copy gem/ore/grupo/icons folder
    • Copy gem/ore/grupo/global/offline.jpg file (IF NOT EXISTS)
    • Copy gem/ore/grupo/global/icon192.png file (IF NOT EXISTS)
    • Copy gem/ore/grupo/global/icon512.png file (IF NOT EXISTS)
    • Delete knob/install.php file
  4. Clear your Browser cache & CDN (Cloudflare) cache (If Any).
  5. Now visit <yourgrupodomain>/update/ using your web browser
  6. Once completed login to Grupo as admin
  7. Once the Grupo Cache Rebuild is completed, clear your Browser cache & CDN (Cloudflare) cache (If Any).
  8. Login to Grupo as Admin. Update Roles & Settings.
    • Menu > Roles > (Adminstrator,Verified,etc) Options > Edit > Tick/Untick New Features
    • Menu > Settings > Update

Quick fixes

Important : You must backup all your existing Grupo files & database before applying any of these fix. We are not responsible for the loss of any data.

  1. Showing Incorrect Encoding or Invalid Characters
    This is usually due to wrong DB collation. Kindly Check your database Collation.
    • Make sure your database collation is utf8mb4_unicode_ci
    • Run the following SQL statements :
      UPDATE gr_defaults SET v2=convert(cast(convert(v2 using  latin1) as binary) using utf8)  WHERE 1;
      UPDATE gr_phrases SET full=convert(cast(convert(full using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_phrases SET short=convert(cast(convert(short using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_profiles SET name=convert(cast(convert(name using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_profiles SET v1=convert(cast(convert(v1 using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_profiles SET v2=convert(cast(convert(v2 using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_users SET name=convert(cast(convert(name using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_users SET email=convert(cast(convert(email using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_options SET v1=convert(cast(convert(v1 using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_options SET v2=convert(cast(convert(v2 using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_options SET v3=convert(cast(convert(v3 using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_options SET v4=convert(cast(convert(v4 using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_msgs SET msg=convert(cast(convert(msg using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_msgs SET rtxt=convert(cast(convert(rtxt using  latin1) as binary) using utf8) WHERE 1;
      UPDATE gr_permissions SET name=convert(cast(convert(name using  latin1) as binary) using utf8) WHERE 1;
      
    • Visit <yourgrupodomain>/act/reset using your web browser & try to login as Admin
  2. Showing undefined/test in header when opening chat
    Run the following SQL statement :
    ALTER TABLE `gr_msgs` ADD `lnurl` TEXT NULL AFTER `cat`, ADD `lntitle` VARCHAR(150) NULL DEFAULT '0' AFTER `lnurl`, ADD `lndesc` VARCHAR(150) NULL DEFAULT '0' AFTER `lntitle`, ADD `lnimg` TEXT NULL AFTER `lndesc`;
    Make sure you have set a default timezone in Grupo settings (Menu > Settings).
  3. Realtime notifications are not working properly
    Make sure ONLY_FULL_GROUP_BY is disabled in MySQL - Reference

Change Logs

Updates in Grupo V2.5

  1. Dark/Light Mode
  2. Progressive Web App (PWA)
  3. Link Previews (New)
  4. Offline Page
  5. Grupo Info
  6. Custom Group Fields
  7. Grupo Booster (beta)
  8. IP/Device Logs (Users > Logs)
  9. Block a range of IP addresses
  10. Custom Menu/Navigation Items
  11. Tab Search
  12. Added "Privacy Policy", "Contact Us" & "About" Block (Signin Page)
  13. New Voice Messages will be stored in MP3 format
  14. Supports GIF images (Requires Imagick Extension)
  15. ASCII to Emoji Convertor
  16. Attach Multiple Files (Chatroom)
  17. File Upload Progress (Chatroom)
  18. Social Meta Tags
  19. Option to Auto Release Guest Usernames
  20. Option to Generate Random Guest Username (If it is unavailable)
  21. Option to Enable/Disable Gravatars
  22. Option to Filter Joined/Unjoined Groups
  23. Option to Select/Unselect Email Notifications
  24. Option to show/hide custom fields in Signup Page
  25. Option to show/hide "Online Users" in Tab
  26. Option to Bulk Remove Alerts Notifications
  27. Option to Set Login Session timeout
  28. Option to set AJAX Polling Timeout (Long Polling)
  29. Option to show/hide Sender Name
  30. Option to Auto Delete only Offline Users
  31. Option to add Custom Content in Body (Menu > Header/Footer)
  32. Option to disable/enable Creating Unleavable, Hidden or Password Protected groups
  33. Minor UI Modifications
  34. Fixed Bugs

Updates in Grupo V2.4

  1. Added "Pin Group" Feature
  2. Added "Unleavable Group" Feature
  3. Added feature to limit messages send per minute (Flood control)
  4. Added function to enable or disable Non Latin Usernames
  5. Added function to enable or disable Send Button
  6. Added function to enable or disable Force HTTPS
  7. Added function to convert URL to HTML link in Profile fields
  8. Added function to rebuild Grupo Cache & reset logs
  9. Fixed certain bugs in RTL Languages

Updates in Grupo V2.3.1

  1. Fixed "Missing Panel Options in Edge" Issue
    [Modified file : gem/mine/grupo.php]

Updates in Grupo V2.3

  1. Update for enabling/disabling Real-time Individual Unread Count
  2. Added function to fix Orientation for Image uploaded from Mobile
  3. Fixed “Unable to close Emoji in certain Mobile Devices” Issue
  4. Fixed Sign in page Issue (Nickname field showing in Signup form)

Note : We don’t recommend enabling Real-time Individual Unread Count feature. The feature may be enabled/disabled through settings option to suit client requirements depending upon your server configuration.

Updates in Grupo V2.2.1

  1. Added Searching in Non Latin Characters
  2. Fixed Login as User Issue (Remember Me)
  3. Added Login as user & Act option in Search

Updates in Grupo V2.2.0

  1. Added Who’s typing feature in Private Messages
  2. Fixed Private Messaging List Issue
  3. Fixed Login Cache Issue
  4. Fixed Play/Visit Button issue in Android Native Browsers

Updates in Grupo V2.1

  1. BaeVox Support profile included in the Grupo V2 enabled ease of customer communication & faster resolution of issues if any at all. However, a recent customer raised security concerns over this special feature. We pride ourselves in providing excellent customer service & support & would like to avoid such concerns in future. Therefore we have decided to remove this feature from all future installations. However, we will always be available over email.
  2. Fixed Undefined Index error

How To

  • Click on icon
  • Select Settings
  • Choose your preferred "Logo", "Logo (Mobile)", "Logo (Login)", "Logo (Email)", "Favicon"
  • Click on the Update Button

Clear your browser & CDN (Cloudflare) cache once you have uploaded the images.

Upload Background

  • Click on icon
  • Select Settings
  • Choose your preferred "Default Bg", "Login Bg"
  • Click on the Update Button

Clear your browser & CDN (Cloudflare) cache once you have uploaded the images.

Change Site Name, Slogan & Description

  • Click on icon
  • Select Settings
  • Replace "Site Name", "Description", "Site Slogan" with your preferred
  • Click on the Update Button

Enable/Disable Sign In Slideshow

  • Click on icon
  • Select Settings
  • Find "UnSplash Slideshow" & Select your preferred option
  • Replace "UnSplash Parameters" with your preferred unsplash.com Collection ID (eg : collection/unslashcollectionid/)
  • Click on the Update Button

Enable/Disable Force HTTPS

  • Click on icon
  • Select Settings
  • Find "Force HTTPS" & Select your preferred option
  • Click on the Update Button

Enable/Disable Non Latin Usernames

  • Click on icon
  • Select Settings
  • Find "Non Latin Usernames" & Select your preferred option
  • Click on the Update Button

Reset Admin Password / Force Admin Login

If your have forgotten the admin password or unable to access the website

  • Download & extract forcelogin.zip
  • Upload forcelogin.php file to Grupo "knob" folder
  • Now visit <yourgrupodomain>/forcelogin/ using your web browser
  • Once logged in, Change your profile password & delete forcelogin.php file from Grupo "knob" folder

Login as other Users

  • Click on icon
  • Select Users
  • Hover/Click on User Options you wish to login
  • Click on Login

Configuring an SMTP mail server

  • Click on icon
  • Select Settings
  • Replace "Email Address", "Sender Name", "SMTP Authentication", "SMTP Host", "SMTP User", "SMTP Password", "SSL/TLS (SMTP Protocol)", "SMTP Port" with yours
  • Click on the Update Button

If your email is not working check these tips on how to fix it :

  1. Please make sure you have scheduled the Cron Jobs
  2. Download & extract mailtest.zip
  3. Upload mailtest.php file to Grupo "knob" folder
  4. Open mailtest.php in your favorite editor & replace [email protected] with the one randomly generated in mail-tester.com
  5. Now visit <yourgrupodomain>/mailtest/ using your web browser & Find the extact issue you are facing
  6. If the mails are send check your mail score in mail-tester.com
  7. Delete mailtest.php file from Grupo "knob" folder once the issue is fixed

Enable/Disable Flood Control

  • Click on icon
  • Select Settings
  • Find "Sending Limit (Per Minute)" & enter the number of messages allowed to send per minute per user
  • Replace "Sending Limit (Per Minute)" field to "OFF" if you wish to disable this feature
  • Click on the Update Button

Enable Google Recaptcha

  • Click on icon
  • Select Settings
  • Find "Recaptcha", "Recaptcha Secret Key" & "Recaptcha Site Key" with your Google reCAPTCHA V2 details. (https://www.google.com/recaptcha)
  • Click on the Update Button
  • If you facing any error, please make sure you have entered the correct keys & in the respective columns.

Enable or Disable Guest Login

  • Click on icon
  • Select Settings
  • Find "Guest Login" & select your preferred choice
  • Click on the Update Button

Rebuild Cache & Reset Logs

We don't recommend rebuilding the grupo cache - especially regularly or for no reason - there are occasions where it can help.

  • Click on icon
  • Select Settings
  • Find "Rebuild Cache & Reset Logs" & enter "yes" in the input field
  • Click on the Update Button

Enable or Disable Email Verification

  • Click on icon
  • Select Settings
  • Find "Email Verification" & select your preferred choice
  • Click on the Update Button

Change Default Notification Tone/Sound

  • Click on icon
  • Select Settings
  • Find "Default Notification Tone" & select your preferred
  • Click on the Update Button

Set Results Per Load & Chat Refresh Rate

  • Click on icon
  • Select Settings
  • Find "Messages Per Load", "Results per load (Aside)", "Chat Refresh Rate" & enter your preferred
  • Click on the Update Button

Set Minmum/Maximum Message length

  • Click on icon
  • Select Settings
  • Find "Minimum send msg length", "Maximum send msg length" & enter your preferred
  • Click on the Update Button

Add Read More button

  • Click on icon
  • Select Settings
  • Find "Add Read More After" & enter your preferred message length
  • Click on the Update Button

Limit login attempts

  • Click on icon
  • Select Settings
  • Find "Max Login Attempts" & enter your preferred
  • Click on the Update Button

Change Time Format

  • Click on icon
  • Select Settings
  • Find "Time Format" & select your preferred choice
  • Click on the Update Button

Add Google Analytics ID

  • Click on icon
  • Select Settings
  • Find "Google Analytics ID" & enter your Google Analytics Tracking ID
  • Click on the Update Button

Enable or Disable Tenor GIFs

  • Click on icon
  • Select Settings
  • Find "Tenor GIFs" & select your preferred choice
  • Enter "Tenor API" & "Tenor Limit"
  • Click on the Update Button

Customizing

You can change the layout, font, text color, background, font-size, message alignment or add Custom CSS via our Inbuilt Customizer

  • Click on icon
  • Select Appearance
  • Select or input your preferred values
  • Click on the Update Button
  • Clear your browser & CDN (Cloudflare) cache once you have updated the settings.

In order the apply Custom CSS :

  • Click on icon
  • Select Appearance
  • Find Custom CSS & add custom CSS
  • Click on the Update Button
  • Clear your browser & CDN (Cloudflare) cache once you have updated the settings.

Header & Footer

You can add custom code by modifiying the values in the header/footer section

  • Click on icon
  • Click on Header/Footer
  • Alter the value to whatever you like
  • Click on the Update Button

Manage Languages

In order to create a new language :

  • Click on icon
  • Select Add Language
  • Input your language name & select a language image/icon (optional)
  • Click on the Create Button

In order to edit existing or newly created language :

  • Click on icon
  • Select Languages
  • Hover/Click on lanugage Options you wish to modify
  • Click on Edit
  • Change the options & phrases to your preferred
  • Click on the Update Button

In order to switch languages in your profile :

  • Click on the language icon on the right side
  • Select your preferred Language

Manage Roles

In order to create a new User Role :

  • Click on icon
  • Select Create Role
  • Select your preferred permissions
  • Click on the Create Button

In order to edit existing user roles :

  • Click on icon
  • Select Roles
  • Hover/Click on role Options you wish to modify
  • Click on Edit
  • Select/Unselect your preferred permissions
  • Click on the Update Button

In order to change a User Role :

  • Click on icon
  • Select Users
  • Hover/Click on User Options you wish to modify
  • Click on View
  • Click "Edit Profile" on appeared user profile
  • Select the preferred user role in "Role" field
  • Click on the Update Button

Manage Profile Fields

In order to create a new custom profile field :

  • Click on icon
  • Select Add Field
  • Select or input your preferred values
  • Click on the Create Button

In order to edit existing profile fields :

  • Click on icon
  • Select Fields
  • Hover/Click on field Options you wish to modify
  • Click on Edit
  • Select or input your preferred values
  • Click on the Update Button

Manage Group

In order to create a new Group :

  • Click on icon
  • Select Create Group
  • Select or input your preferred values
  • Click on the Create Button

In order to edit a Group :

  • Click on Groups Tab
  • Select the group you wish to modify
  • Click on icon on the top
  • Select or input your preferred values
  • Click on the Update Button

In order to remove a group password:

  • Click on Groups Tab
  • Select the group you wish to modify
  • Click on icon on the top
  • Select "Yes" in Remove Password field
  • Click on the Update Button

Generate QR Code

Users can send long messages/URLs as encrypted messages using QR Code. In order to generate a QR Code :

  • Click on icon
  • Type your text message or URL in the textarea
  • Press Enter or Click on the Send Button

Mention Users

In order to mention another user in group chat :

  • Type the "@" symbol in the textarea when you're ready to mention another user.
  • Type the grupo username directly after the symbol.
  • Click the name in the list

Send Voice Message

Make sure your website is loaded over a secure HTTPS connection & also make sure you have enabled/allowed microphone in your browser

  • Open an individual or group chat
  • Tap the microphone icon and start speaking
  • Once finished, tap the recording icon to send the message

Manage Group Users

In order to change the role of Group Member :

  • Click on Crew Tab
  • Hover/Click on User Options
  • Click on Edit
  • Select the preferred role (Admin,Moderator, Member)
  • Click Update Button

In order to ban/unban Group Member :

  • Click on Crew Tab
  • Hover/Click on User Options
  • Click on the Ban/Unban Button

In order to remove a Group Member :

  • Click on Crew Tab
  • Hover/Click on User Options
  • Click on Edit
  • On "Remove User" field select "Yes"
  • Click Update Button

Pin Group

In order to pin a Group at the top of the list :

  • Click on icon
  • Select Settings
  • Find "Pin Group" & select your preferred Group
  • Click on the Update Button

Auto Group Join

In order to auto assign new member to group upon registration :

  • Click on icon
  • Select Settings
  • Find "Auto Group Join" & select your preferred Group
  • Click on the Update Button

Manage Users

In order to create a new user :

  • Click on icon
  • Select Create User
  • Select or input your preferred values
  • Click on the Create Button

In order to edit existing users :

  • Click on icon
  • Select Users
  • Hover/Click on User Options you wish to modify
  • Click on View
  • Click "Edit Profile" on appeared user profile
  • Select or input your preferred values
  • Click on the Update Button

Upload Files

  • Click on icon
  • Click on Upload Files
  • Select file(s)
  • Manage Files

    • Click on Files Tab
    • Click Options
    • Click on available Options

    Transfer to a new domain/server

    Important : Before you begin to transfer Grupo, you must backup your website files & database. We are not responsible for the loss of any data.

    1. Download the Grupo Files
    2. Export the Grupo Database
    3. Make sure your new server/domain have all the requirements by uploading & running requirements.php file in your server
    4. Upload the Grupo Files to your new server/domain folder
    5. Create a new database in your new server
    6. Import the Grupo database file into your newly created database
    7. Open key/bit.php file & replace database details with your new database details (Please Don't Change any other Settings)

    Steps 5,6,7 are only required if you are planning to transfer Grupo to new hosting server.

    How many concurrent users does it support ?

    We Kindly request you contact your hosting provider regarding this. This has nothing to do with Grupo. This is a server-related issue. PHP does not interpret the requests, It’s the web server which does it. Your hosting provider should be able to give you info on this.

    References :

    Using Nulled or Pirated Versions

    We understand how tempting it is to use nulled software as it gives you access to premium features for free. But the reality of it is that installing nulled scripts is extremely risky as most of them are riddled with malware. The malware will infect your site and allow hackers to break in. Hackers will cause severe damage to your website by displaying unwanted ads, sending spam emails, and redirecting your visitors to malicious sites. The consequences become more severe if Google detects the hack blacklists your site and your web hosting provider suspends your account.

    First and foremost, by using pirated versions of paid products, you are a partner in crime to stealing the work of developers who have invested time, effort, and money to create them. Keep in mind, their businesses are run just like any other. Although it’s just a simple download for you, you’re directly undermining the developers who earn their money fairly.

    And it’s not only a matter of ethics but also a matter of thinking ahead and helping to cultivate a thriving industry. The more common the practice of using nulled pieces of software, the less it pays off for developers to do their work, which doesn’t only include writing code but also creating documentation and providing support for the software. Consequently, the overall quality of WordPress themes and plugins will lower because there’s not enough incentive for its creators.

    Most developers spend time, energy, and money developing their software and then maintaining and improving it. Developers create some really cool stuff that makes your website better. They strive to cater to every want and to solve every problem you could possibly face with your site.

    Many developers hire staff, have their own website, have a support team, create documentation to provide a great experience for customers who use their products.

    Imagine after all that hard work and investment, they wake up one day to find that a pirated version of their product is being distributed for free. It’s discouraging.

    Therefore, contributing to the success of nulled software can hamper innovation.

    Many of those who pirate software make money out of it or use it for malicious purposes:

    • They generate ad revenue on the sites they distribute them on. Also, they sell more illegal products or promote their illegal business on these sites.
    • They use these ‘free versions’ to dupe people into installing malware on their sites. This enables them to hack into the site.
    • They use it to collect sensitive and personal data which can later be sold or exploited maliciously.

    It’s a major risk for you and your brand to use something that’s illegal and has serious security issues.

    As developers of the theme and plugin improve their software, they release updates from time to time. These updates can carry new features, compatibility fixes, bug fixes, and most importantly, security patches. 

    When you choose to use a nulled version of a script, you will be disconnected from the developer. You won’t receive a notification that an update is available. This means you won’t receive any updates. Without updates, the website will remain vulnerable endangering your website.

    Besides security issues, not receiving updates can cause compatibility issues.

    That said, the scariest part about all this is if a vulnerability is found in the software, you won’t be able to update to the new version to fix it. Your website will be vulnerable to hacks as long as your running the outdated plugin or theme on your site.

    Many times, scripts can be installed and used without any help or support. But there are also plenty of times when you need guidance. Developers of premium scripts always offer support to answer customer’s questions and solve any issues they may be facing with the software.

    So what happens if you face any issue with the nulled script which only the developer can address? To state the obvious, you most certainly won’t be able to contact the developer for help.

    Once again, thanks for purchasing Grupo.
    If you need any help, don't hesitate to contact us [email protected].