Snippets Collections
    // Wait for Firebase Auth to restore persisted session (critical for Android OIDC)
        await initializeFirebaseAuth();




/**
 * Initialize Firebase Auth and wait for persisted session to be restored
 * This is critical for Android where OIDC session restoration is asynchronous
 * Returns the persisted user (if any) or null
 */
const initializeFirebaseAuth = async (): Promise<FirebaseAuthTypes.User | null> => {
  return new Promise((resolve) => {
    const auth = getFirebaseAuth();

    // onAuthStateChanged fires immediately with persisted state (if any)
    // This is how React Native Firebase restores sessions on app restart
    const unsubscribe = auth.onAuthStateChanged(async (user) => {
      unsubscribe(); // Only need the first event for initialization

      if (user) {
        try {
          // Force token refresh to validate session is still active
          // This is critical for Android where OIDC tokens may have expired
          await user.getIdToken(true); // true = force refresh
          resolve(user);
        } catch (error) {
          // Token refresh failed - session expired or Token Service API not enabled
          await crashlyticsService.recordError(error, {
            action: 'TOKEN_REFRESH_FAILED_ON_INIT',
            metadata: { uid: user.uid },
          });

          // Sign out the stale user to prevent API failures
          await signOut(auth);

          resolve(null);
        }
      } else {
        resolve(null);
      }
    });

    // Fallback timeout in case onAuthStateChanged never fires (shouldn't happen)
    setTimeout(() => {
      unsubscribe();
      crashlyticsService.log('Firebase auth initialization timeout - proceeding without user');
      resolve(null);
    }, 5000);
  });
};
{% set my_path = page.path %}

{% if my_path %}
{% set path_parts = my_path.strip('/').split('/') %}
{% endif %}




<section class="breadcrumbs">
    {% set breadcrumbs = get_breadcrumbs(include_home=True) %}
    <div class="st-container-lg">
        <div class="st-flex st-breadcrumbs">
        {% for item in breadcrumbs.breadcrumbs[:2] %}
            {% if loop.last %}
                <span class="current-page">{{ item.name }}</span>
            {% else %}
                <a href="{{ item.link }}">{{ item.name }}</a>
                <span class="breadcrumbs-seperator">|</span>
            {% endif %}
        {% endfor %}
        </div>
        {% do set_schema_overrides('breadcrumbs', breadcrumbs.as_schema()) %}
    </div>
</section>

{% if my_path.startswith('/blog/') %}
    <!--HOME CARE TIPS BLOG-->
    <div class="st-container-md posts-list-wrapper">
        {% set all_cats = get_categories() %}
        <div class="post-list-header main">
            <h1>Home Care Tips</h1>
            <ul class="blog-categories st-flex st-desktop">
                <li><a href="/blog/">All posts</a></li>
                {% for cat in all_cats %}
                <li class="{% if path_parts %}{% if path_parts[2] == cat.name|slugify %}active-category{% endif %}{% endif %}">
                    <a href="{{ cat.url }}"><span>{{ cat.name }}</span></a>
                </li>
                {% endfor %}
            </ul>
            <div class="selector-cont st-mobile">
                <select id="catSelector" class="cat-selector bg-color">
                    <option value="/blog/">Select A Category</option>
                    {% for cat in all_cats %}
                        <option value="{{ cat.url }}" {% if cat.url == page.path %}selected{% endif %}>{{ cat.name }}</option>
                    {% endfor %}
                </select>
                <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                </svg>
            </div>
        </div>
    
        <div class="post-list-cat-wrap st-third">
            <!--Blog Root-->
            {% if page.path == '/blog/' %}
          
                {% for post in filter_posts(category_slug='blogs') %}
                <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                            {% if post.featured_img %}
                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                            {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                            {% endif %}
                        </div>
                        <div class="blog-cont">
                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                            <ul class="cat-list">
                                {% if post.categories %}
                                    {% for category in post.categories[:3] %}
                                    {% if category.name != "Blogs" %}
                                        <li>
                                            <p>{{ category.name }}</p>
                                        </li>
                                        {% endif %}
                                    {% endfor %}
                                {% endif %}
                            </ul>
                        </div>
                    </div>
                </a>
                {% endfor %}
            
            {% else %}
            
            <!--Category Page-->
            {% for post in posts %}
            {% if post %}
            <a itemprop="articleBody" class="article-body st-item article-cat-page" href="{{ post.url(**post_url_params) }}">
                <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                    <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                        {% if post.featured_img %}
                        <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                        {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                        {% endif %}
                    </div>
                    <div class="blog-cont">
                        <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                        {% if post.categories %}
                            <ul class="cat-list">
                                {% for category in post.categories[:3]  %}
                                    {% if category.name != "Blogs" %}
                                    <li>
                                        <p>{{ category.name }}</p>
                                    </li>
                                    {% endif %}
                                {% endfor %}
                            </ul>
                        {% endif %}
                    </div>
                </div>
            </a>
            {% endif %}
            {% endfor %}
            {% endif %}
            
            
        </div>
    
        <div class="next-prev-wrapper st-flex">
            {% if posts.has_previous() %}
            <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
            {% endif %}
            {% if posts.has_next() %}
            <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
            {% endif %}
        </div>
    </div>
    <!--end Home Care Tips Blog-->

{% elif my_path.startswith('/resources/') %}
    <!--RESOURCES BLOG-->
    <div class="st-container-lg resources-wrapper">
        <div class="post-list-header main">
                    <h1>Home Care Resource Center</h1>
                    <p>Learn how to set yourself and your loved ones up for success with in-home care.</p>
                </div>
            
        {% if page.path == '/resources/' %}
            <!--Resources Root-->
            <div class="resources-body">
                <div class="resources-top st-flex st-half">
                    <div class="featured-resources st-item">
                        <div class="green-tab"><h3>Featured Resource:</h3></div>
                        {% for post in filter_posts(category_slug='resources')[:1] %}
                        <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                            <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                    {% if post.featured_img %}
                                    <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                    {% else %}
                                    <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                    {% endif %}
                                </div>
                                <div class="blog-cont">
                                    <p class="st-h2 st-teal-900" itemprop="name headline">{{ post.title }}</p>
                                    <div class="card-footer">
                                        {% if post.categories %}
                                            <ul class="cat-list">
                                                {% for category in post.categories[:3] %}
                                                {% if category.name != "Blogs" %}
                                                    <li>
                                                        <p>{{ category.name }}</p>
                                                    </li>
                                                    {% endif %}
                                                {% endfor %}
                                            </ul>
                                        {% endif %}
                                        <button class="explore-btn">
                                            Explore Subject <span class="arrow">→</span>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </a>
                        {% endfor %}
                    </div>
                    <div class="popular-resources st-item">
                        <div class="green-tab"><h3>Other popular resources:</h3></div>
                        <div class="post-list-cat-wrap">
                            {% for post in filter_posts(category_slug='resources')[:3] %}
                            <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                            {% if post.featured_img %}
                                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                            {% else %}
                                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                            {% endif %}
                                        </div>
                                        <div class="blog-cont">
                                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                            {% if post.categories %}
                                                <ul class="cat-list">
                                                    {% for category in post.categories[:3] %}
                                                    {% if category.name != "Blogs" %}
                                                        <li>
                                                            <p>{{ category.name }}</p>
                                                        </li>
                                                        {% endif %}
                                                    {% endfor %}
                                                </ul>
                                            {% endif %}
                                        </div>
                                    </div>
                                </a>
                            {% endfor %}
                        </div>
                    </div>
                </div>
                <!-- Navigate by Topic -->
                <section class="topics-section">
                    <h2 class="topics-title">Navigate Resources by Topic</h2>
                    <div class="topic-buttons">
                        <a href="/resources/in-home-senior-safety/" class="topic-btn">In-Home Senior Safety</a>
                        <a href="/resources/support-for-caregivers/" class="topic-btn">Support for Family Caregivers</a>
                        <a href="/about-home-care/how-much-does-home-care-cost/" class="topic-btn">Home Care Costs & Payment Options</a>
                        <a href="/home-care-services/chronic-conditions/" class="topic-btn">Chronic Condition Management</a>
                        
                        <div class="compass-icon">
                            <img src="/img/upload/hwcg_compass_1.webp" width="120" height="120" alt="Compass" />
                        </div>
                    </div>
                </section>

                <div class="latest-resources">
                    <div class="green-panel st-flex ">
                        <h3>Latest Resources:</h3>
                        <div class="selector-cont">
                            <select id="catSelector" class="cat-selector bg-color">
                                <option value="/blog/">Filter by Category</option>
                                <option class="category" value="in-home-senior-safety">In-Home Senior Safety</option>
                                <option class="category" value="support-for-caregivers">Support for Family Caregivers</option>
                            </select>
                            <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                            </svg>
                        </div>
                    </div>
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    
                   {% set ns = namespace(categoryname='') %}
                    {% if post.categories %}
                      {% for category in post.categories %}
                        {% if category.name != "Blogs" and category.name != "Resources" and ns.categoryname == '' %}
                          {% set ns.categoryname = category.name|slugify %}
                        {% endif %}
                      {% endfor %}
                    {% endif %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}" data-cat="{{ ns.categoryname }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
                <script>
        document.addEventListener('DOMContentLoaded', function() {
          const selector = document.getElementById('catSelector');
          const posts = document.querySelectorAll('.article-body');
        
          selector.addEventListener('change', function() {
            const selected = this.value;
        
            posts.forEach(post => {
              const cat = post.getAttribute('data-cat');
              // Show all if default option, or only matching category
              if (selected === '/blog/' || selected === '' || selected === 'Filter by Category') {
                post.style.display = '';
              } else if (cat === selected) {
                post.style.display = '';
              } else {
                post.style.display = 'none';
              }
            });
          });
        });
        </script>
            </div>
        {% else %}
            <!--Category Page-->    
            <div class="resources-body">
                <div class="latest-resources">
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
            </div>
        {% endif %}
    </div>
    <!--end Resources Blog-->
    
{% endif %}
rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /Resource/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }
 
    match /images/GhslEvent/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }
    
    match /images/NewsOrUpdate/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }
    
    match /images/Resource/{fileName} {
      allow read: if true;
      allow create, write: if request.auth != null;
    }

    // Protected only for auth users
		// Site visit images
    match /images/SiteVisit/{fileName} {
      allow read, create, write: if request.auth != null;
    }
    // Site visit audios
    match /audios/SiteVisit/{fileName} {
      allow read, create, write: if request.auth != null;
    }
 
  }
}
generatedDateTime_1 = generatedDateTime.toTime("yyyy-MM-dd'T'HH:mm:ss","UTC");
info generatedDateTime_1;
generatedDateTime_2 = generatedDateTime_1.toString("yyyy-MM-dd'T'HH:mm:ss","Asia/Dubai");
info generatedDateTime_2;
updatemap.put("RF_Customer_Envelope_Time_Stamp",generatedDateTime_2);
# FULL GUIDE — Using LINQ to Query Data from Database with ADO.NET

We’ll build a working project called StudentDBApp that connects SQL Server + ASP.NET Web Forms + LINQ to SQL.

PART 1: Install SQL Server & SSMS (Database Setup)

Step 1: Download SQL Server

1. Go to Microsoft’s official page: [https://www.microsoft.com/en-in/sql-server/sql-server-downloads](https://www.microsoft.com/en-in/sql-server/sql-server-downloads)
2. Go to Downloads Tab at top
3. Download SQL Server 2022 Developer
4. Choose Basic Installation (wait a long time)

Step 2: Install SQL Server Management Studio (SSMS)

1. Go to: [https://aka.ms/ssms](https://aka.ms/ssms)
2. Click Download SQL Server Management Studio (SSMS)
3. Install it normally and open after installation.

Step 3: Connect to Server
When SSMS opens:
1. Server type: Database Engine
2. Server name: localhost
3. Authentication: Windows Authentication
4. Click trust
5. Click Connect

You’re now connected to your local SQL Server.

Step 4: Create Database and Table
In SSMS → open New Query and paste this SQL:

CREATE DATABASE StudentDB;
GO

USE StudentDB;
GO

CREATE TABLE Students (
StudentID INT PRIMARY KEY,
StudentName VARCHAR(50),
StudentDept VARCHAR(50),
StudentMarks DECIMAL(5,2)
);

INSERT INTO Students VALUES (1, 'Rahul', 'CSE', 92.5);
INSERT INTO Students VALUES (2, 'Raj', 'ECE', 85.0);
INSERT INTO Students VALUES (3, 'Anu', 'IT', 88.0);

Press Execute.
You now have a StudentDB database and Students table with data.

PART 2: Setup Visual Studio

Step 1: Install Required Components
If you already have Visual Studio 2022:

1. Open Visual Studio Installer
2. Click Modify on your Visual Studio version
3. Go to Workloads tab and make sure these are checked:

   * .NET desktop development
   * ASP.NET and web development
4. Go to Individual Components tab

   * Search and check “LINQ to SQL tools”
5. Click Modify and let it install.

This adds LINQ to SQL support (.dbml files).

PART 3: Create the ASP.NET Project

Step 1: New Project

1. Open Visual Studio 2022
2. Go to File → New → Project
3. Choose: ASP.NET Web Application (.NET Framework)
4. Name it StudentDBApp
5. Click Create
6. Select Empty template and check Web Forms
7. Click Create

Step 2: Add a Web Form

1. In Solution Explorer, right-click the project → Add → Web Form
2. Name it StudentDisplay.aspx
3. Click Add

Step 3: Add LINQ to SQL Class

1. Right-click your project → Add → New Item
2. Select Data (left side)
3. Choose LINQ to SQL Classes
4. Name it StudentData.dbml
5. Click Add
   You’ll see a designer window open.

Step 4: Connect to SQL Server

1. Open Server Explorer (View → Server Explorer)
2. Right-click Data Connections → Add Connection
3. Fill:
   Server name: localhost
   Authentication: Windows Authentication
   Click trust
   Database name: StudentDB
4. Click Test Connection → OK

Connection established.

Step 5: Add Table to Designer

1. In Server Explorer, expand your connection → Tables
2. Drag the Students table into the StudentData.dbml designer.
   It automatically creates the Student class.
   Save the file (Ctrl + S).

PART 4: Design and Code

Step 1: Design the Frontend (ASPX)
Open StudentDisplay.aspx → inside <form runat="server">, add:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" />

Save it.

Step 2: Backend Code (C#)
Open StudentDisplay.aspx.cs → replace code with:

using System;
using System.Linq;
using System.Configuration;

namespace StudentDBApp
{
public partial class StudentDisplay : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ShowStudentData();
}
}

    private void ShowStudentData()  
    {  
        string connString = ConfigurationManager.ConnectionStrings["StudentDBConnectionString"].ConnectionString;  
        StudentDataDataContext db = new StudentDataDataContext(connString);  
        var studentDetails = from s in db.Students  
                             select s;  
        GridView1.DataSource = studentDetails;  
        GridView1.DataBind();  
    }  
}  


}

Save it.

Step 4: Set Start Page
In Solution Explorer, right-click StudentDisplay.aspx → Set as Start Page

Step 5: Run the Project
Press Ctrl + F5
Your browser opens:
[https://localhost:[port]/StudentDisplay.aspx](https://localhost:[port]/StudentDisplay.aspx)

You’ll see the GridView displaying all student records from SQL Server.

OUTPUT (Example)

StudentID | StudentName | StudentDept | StudentMarks
1 | Rahul | CSE | 92.50
2 | Raj | ECE | 85.00
3 | Anu | IT | 88.00
 Text HELP for support.  


<script defer>
$(document).ready(function () {
  
    const smsLabel = document.querySelector('.sb-formfield--sms-consent label');
    if (smsLabel) {
     // replace SMS consent label text
      smsLabel.innerHTML = "<label for='id_sms-consent'>By checking this box, I expressly consent to receive recurring text messages by or on behalf of Homewatch CareGivers, regarding customer care (such as, among others, appointment reminders, billing), account notifications, marketing, products, services, offers, promotions and franchise opportunities, at the number provided above, including via automated technology.  Consent is not a condition of purchase.  Msg &amp; data rates may apply.  Msg frequency varies.  Unsubscribe at any time by replying STOP.  Text HELP for support. <a href='/privacy-policy/'>Privacy Policy</a> &amp; <a href='/privacy-policy/'>Terms of Use</a>.";
    }
});
</script>

NON WORKING


<script>

$(document).on('ajax-form-failure', function() {

  console.log('works');
    const smsLabel = document.querySelector('.sb-formfield--sms-consent label');

    if (smsLabel) {
     // replace SMS consent label text
      smsLabel.innerHTML =
        'I consent to receive marketing SMS text messages from Homewatch CareGivers at the number provided, including messages sent by autodialer. Consent is not a condition for advancing with this form. MSG &amp; data rates may apply. MSG frequency varies. Unsubscribe at any time by replying STOP. View our <a href="/privacy-policy/">Privacy Policy</a> & <a href="/terms-of-use/">Terms of Use</a>.';
    }
    
});
</script>
{% set my_path = page.path %}

{% if my_path %}
{% set path_parts = my_path.strip('/').split('/') %}
{% endif %}




<section class="breadcrumbs">
    {% set breadcrumbs = get_breadcrumbs(include_home=True) %}
    <div class="st-container-lg">
        <div class="st-flex st-breadcrumbs">
        {% for item in breadcrumbs.breadcrumbs[:2] %}
            {% if loop.last %}
                <span class="current-page">{{ item.name }}</span>
            {% else %}
                <a href="{{ item.link }}">{{ item.name }}</a>
                <span class="breadcrumbs-seperator">|</span>
            {% endif %}
        {% endfor %}
        </div>
        {% do set_schema_overrides('breadcrumbs', breadcrumbs.as_schema()) %}
    </div>
</section>

{% if my_path.startswith('/blog/') %}
    <!--HOME CARE TIPS BLOG-->
    <div class="st-container-md posts-list-wrapper">
        {% set all_cats = get_categories() %}
        <div class="post-list-header main">
            <h1>Home Care Tips</h1>
            <ul class="blog-categories st-flex st-desktop">
                <li><a href="/blog/">All posts</a></li>
                {% for cat in all_cats %}
                <li class="{% if path_parts %}{% if path_parts[2] == cat.name|slugify %}active-category{% endif %}{% endif %}">
                    <a href="{{ cat.url }}"><span>{{ cat.name }}</span></a>
                </li>
                {% endfor %}
            </ul>
            <div class="selector-cont st-mobile">
                <select id="catSelector" class="cat-selector bg-color">
                    <option value="/blog/">Select A Category</option>
                    {% for cat in all_cats %}
                        <option value="{{ cat.url }}" {% if cat.url == page.path %}selected{% endif %}>{{ cat.name }}</option>
                    {% endfor %}
                </select>
                <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
    <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                </svg>
            </div>
        </div>
    
        <div class="post-list-cat-wrap st-third">
            <!--Blog Root-->
            {% if page.path == '/blog/' %}
          
                {% for post in filter_posts(category_slug='blogs') %}
                <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                            {% if post.featured_img %}
                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                            {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                            {% endif %}
                        </div>
                        <div class="blog-cont">
                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                            <ul class="cat-list">
                                {% if post.categories %}
                                    {% for category in post.categories[:3] %}
                                    {% if category.name != "Blogs" %}
                                        <li>
                                            <p>{{ category.name }}</p>
                                        </li>
                                        {% endif %}
                                    {% endfor %}
                                {% endif %}
                            </ul>
                        </div>
                    </div>
                </a>
                {% endfor %}
            
            {% else %}
            
            <!--Category Page-->
            {% for post in posts %}
            {% if post %}
            <a itemprop="articleBody" class="article-body st-item article-cat-page" href="{{ post.url(**post_url_params) }}">
                <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                    <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                        {% if post.featured_img %}
                        <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                        {% else %}
                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                        {% endif %}
                    </div>
                    <div class="blog-cont">
                        <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                        {% if post.categories %}
                            <ul class="cat-list">
                                {% for category in post.categories[:3]  %}
                                    {% if category.name != "Blogs" %}
                                    <li>
                                        <p>{{ category.name }}</p>
                                    </li>
                                    {% endif %}
                                {% endfor %}
                            </ul>
                        {% endif %}
                    </div>
                </div>
            </a>
            {% endif %}
            {% endfor %}
            {% endif %}
            
            
        </div>
    
        <div class="next-prev-wrapper st-flex">
            {% if posts.has_previous() %}
            <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
            {% endif %}
            {% if posts.has_next() %}
            <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
            {% endif %}
        </div>
    </div>
    <!--end Home Care Tips Blog-->

{% elif my_path.startswith('/resources/') %}
    <!--RESOURCES BLOG-->
    <div class="st-container-lg resources-wrapper">
        <div class="post-list-header main">
                    <h1>Home Care Resource Center</h1>
                    <p>Learn how to set yourself and your loved ones up for success with in-home care.</p>
                </div>
            
        {% if page.path == '/resources/' %}
            <!--Resources Root-->
            <div class="resources-body">
                <div class="resources-top st-flex st-half">
                    <div class="featured-resources st-item">
                        <div class="green-tab"><h3>Featured Resource:</h3></div>
                        {% for post in filter_posts(category_slug='resources')[:1] %}
                        <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                            <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                    {% if post.featured_img %}
                                    <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                    {% else %}
                                    <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                    {% endif %}
                                </div>
                                <div class="blog-cont">
                                    <p class="st-h2 st-teal-900" itemprop="name headline">{{ post.title }}</p>
                                    <div class="card-footer">
                                        {% if post.categories %}
                                            <ul class="cat-list">
                                                {% for category in post.categories[:3] %}
                                                {% if category.name != "Blogs" %}
                                                    <li>
                                                        <p>{{ category.name }}</p>
                                                    </li>
                                                    {% endif %}
                                                {% endfor %}
                                            </ul>
                                        {% endif %}
                                        <button class="explore-btn">
                                            Explore Subject <span class="arrow">→</span>
                                        </button>
                                    </div>
                                </div>
                            </div>
                        </a>
                        {% endfor %}
                    </div>
                    <div class="popular-resources st-item">
                        <div class="green-tab"><h3>Other popular resources:</h3></div>
                        <div class="post-list-cat-wrap">
                            {% for post in filter_posts(category_slug='resources')[:3] %}
                            <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                                    <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                                        <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                            {% if post.featured_img %}
                                            <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                            {% else %}
                                            <div style="background-image: url('/img/upload/hwcg-blog-fallback.jpg')" itemprop="image" class="blog-featured-img"></div>
                                            {% endif %}
                                        </div>
                                        <div class="blog-cont">
                                            <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                            {% if post.categories %}
                                                <ul class="cat-list">
                                                    {% for category in post.categories[:3] %}
                                                    {% if category.name != "Blogs" %}
                                                        <li>
                                                            <p>{{ category.name }}</p>
                                                        </li>
                                                        {% endif %}
                                                    {% endfor %}
                                                </ul>
                                            {% endif %}
                                        </div>
                                    </div>
                                </a>
                            {% endfor %}
                        </div>
                    </div>
                </div>
                <!-- Navigate by Topic -->
                <section class="topics-section">
                    <h2 class="topics-title">Navigate Resources by Topic</h2>
                    <div class="topic-buttons">
                        <a href="/resources/in-home-senior-safety/" class="topic-btn">In-Home Senior Safety</a>
                        <a href="/resources/support-for-caregivers/" class="topic-btn">Support for Family Caregivers</a>
                        <a href="/about-home-care/how-much-does-home-care-cost/" class="topic-btn">Home Care Costs & Payment Options</a>
                        <a href="/home-care-services/chronic-conditions/" class="topic-btn">Chronic Condition Management</a>
                        
                        <div class="compass-icon">
                            <img src="/img/upload/hwcg_compass_1.webp" width="120" height="120" alt="Compass" />
                        </div>
                    </div>
                </section>

                <div class="latest-resources">
                    <div class="green-panel st-flex ">
                        <h3>Latest Resources:</h3>
                        <div class="selector-cont">
                            <select id="catSelector" class="cat-selector bg-color">
                                <option value="/blog/">Filter by Category</option>
                                <option class="category" value="in-home-senior-safety">In-Home Senior Safety</option>
                                <option class="category" value="support-for-caregivers">Support for Family Caregivers</option>
                            </select>
                            <svg class="selector-arrow" width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd" d="M1 0.940236L1.48072 0.5L8 6.60928L14.5193 0.5L15 0.940236L8 7.5L1 0.940236Z" fill="#666666" stroke="#666666" stroke-width="0.5"/>
                            </svg>
                        </div>
                    </div>
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    
                   {% set ns = namespace(categoryname='') %}
                    {% if post.categories %}
                      {% for category in post.categories %}
                        {% if category.name != "Blogs" and category.name != "Resources" and ns.categoryname == '' %}
                          {% set ns.categoryname = category.name|slugify %}
                        {% endif %}
                      {% endfor %}
                    {% endif %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}" data-cat="{{ ns.categoryname }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
                <script>
        document.addEventListener('DOMContentLoaded', function() {
          const selector = document.getElementById('catSelector');
          const posts = document.querySelectorAll('.article-body');
        
          selector.addEventListener('change', function() {
            const selected = this.value;
        
            posts.forEach(post => {
              const cat = post.getAttribute('data-cat');
              // Show all if default option, or only matching category
              if (selected === '/blog/' || selected === '' || selected === 'Filter by Category') {
                post.style.display = '';
              } else if (cat === selected) {
                post.style.display = '';
              } else {
                post.style.display = 'none';
              }
            });
          });
        });
        </script>
            </div>
        {% else %}
            <!--Category Page-->    
            <div class="resources-body">
                <div class="latest-resources">
                    <div class="post-list-cat-wrap st-third">
                    {% for post in filter_posts(category_slug='resources') %}
                    <a itemprop="articleBody" class="article-body st-item" href="{{ post.url(**post_url_params) }}">
                        <div itemscope="" itemtype="http://schema.org/BlogPosting" class="post-list-item" title="{{ post.title }}">
                            <div itemprop="image" itemscope itemtype="https://schema.org/ImageObject" class="blog-image-wrap">
                                {% if post.featured_img %}
                                <div style="background-image:url('{{ post.featured_img.src }}')" itemprop="image" class="blog-featured-img"></div>
                                {% else %}
                                <div style="background-image: url('/img/upload/homstretch-team.jpg')" itemprop="image"></div>
                                {% endif %}
                            </div>
                            <div class="blog-cont">
                                <p class="st-h4" itemprop="name headline">{{ post.title }}</p>
                                {% if post.categories %}
                                    <ul class="cat-list">
                                        {% for category in post.categories[:3] %}
                                        {% if category.name != "Blogs" and category.name != "Resources" %}
                                            <li>
                                                <p>{{ category.name }}</p>
                                            </li>
                                            {% endif %}
                                        {% endfor %}
                                    </ul>
                                {% endif %}
                            </div>
                        </div>
                    </a>
                    {% endfor %}
                    </div>
                    
                    <div class="next-prev-wrapper st-flex">
                        {% if posts.has_previous() %}
                        <a class="st-btn v1" href="{{ posts.prev_link }}"><span>{% trans %}Previous Page{% endtrans %}</span></a>
                        {% endif %}
                        {% if posts.has_next() %}
                        <a class="st-btn v1" href="{{ posts.next_link }}"><span>{% trans %}Next Page{% endtrans %}</span></a>
                        {% endif %}
                    </div>
                </div>
            </div>
        {% endif %}
    </div>
    <!--end Resources Blog-->
    
{% endif %}
// Simple & Reliable Collapsible Filter Hierarchy
(function() {
  // Modern CSS styles
  const styles = `
    <style>
      .filter-parent-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 12px;
      }
      
      .filter-content-left {
        flex: 1;
        display: flex;
        align-items: center;
        gap: 8px;
        min-width: 0;
      }
      
      .filter-content-left input[type="checkbox"] {
        flex-shrink: 0;
      }
      
      .filter-text-wrapper {
        flex: 1;
        min-width: 0;
      }
      
      .collapse-toggle {
        flex-shrink: 0;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        border-radius: 6px;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        background: rgba(0, 0, 0, 0.04);
        margin-left: 8px;
        user-select: none;
      }
      
      .collapse-toggle:hover {
        background: rgba(0, 0, 0, 0.08);
        transform: scale(1.05);
      }
      
      .collapse-toggle:active {
        transform: scale(0.95);
      }
      
      .collapse-toggle svg {
        width: 14px;
        height: 14px;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        color: #666;
      }
      
      .collapse-toggle:hover svg {
        color: #000;
      }
      
      .collapse-toggle.expanded svg {
        transform: rotate(90deg);
      }
      
      .has-children > label {
        width: 100%;
      }
      
      /* Simple hide/show with smooth transition */
      .child-item {
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }
      
      .child-item:not(.collapsed) {
        max-height: 500px;
        opacity: 1;
      }
      
      /* Use display none for collapsed - cleanest solution */
      .child-item.collapsed {
        display: none !important;
      }
      
      /* Smooth transition for expanding */
      @keyframes expandChild {
        from {
          max-height: 0;
          opacity: 0;
        }
        to {
          max-height: 500px;
          opacity: 1;
        }
      }
      
      .child-item:not(.collapsed) {
        animation: expandChild 0.4s cubic-bezier(0.4, 0, 0.2, 1);
      }
    </style>
  `;
  
  // Inject styles once
  if (!document.getElementById('filter-collapse-styles')) {
    const styleElement = document.createElement('div');
    styleElement.id = 'filter-collapse-styles';
    styleElement.innerHTML = styles;
    document.head.appendChild(styleElement);
  }
  
  // Modern chevron SVG icon
  const chevronIcon = `
    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
      <polyline points="9 18 15 12 9 6"></polyline>
    </svg>
  `;
  
  function initializeFilters() {
    const filterLists = document.querySelectorAll('.brxe-filter-checkbox');
    
    filterLists.forEach(list => {
      const items = Array.from(list.querySelectorAll('li'));
      
      items.forEach((item, index) => {
        const depth = parseInt(item.getAttribute('data-depth'));
        
        // Process parent items (depth-0)
        if (depth === 0) {
          const nextItem = items[index + 1];
          const hasChildren = nextItem && parseInt(nextItem.getAttribute('data-depth')) === 1;
          
          if (hasChildren && !item.querySelector('.collapse-toggle')) {
            const label = item.querySelector('label');
            const checkbox = label.querySelector('input[type="checkbox"]');
            const optionText = label.querySelector('.brx-option-text');
            
            // Check if wrapper already exists
            if (!label.querySelector('.filter-parent-wrapper')) {
              // Store original checkbox reference
              const originalCheckbox = checkbox;
              
              // Create new structure
              const wrapper = document.createElement('div');
              wrapper.className = 'filter-parent-wrapper';
              
              const leftContent = document.createElement('div');
              leftContent.className = 'filter-content-left';
              
              const textWrapper = document.createElement('div');
              textWrapper.className = 'filter-text-wrapper';
              
              // Build structure - keep original checkbox
              leftContent.appendChild(originalCheckbox);
              textWrapper.appendChild(optionText.cloneNode(true));
              leftContent.appendChild(textWrapper);
              
              wrapper.appendChild(leftContent);
              
              // Create toggle button
              const toggle = document.createElement('div');
              toggle.className = 'collapse-toggle';
              toggle.innerHTML = chevronIcon;
              toggle.setAttribute('role', 'button');
              toggle.setAttribute('aria-label', 'Toggle child items');
              
              wrapper.appendChild(toggle);
              
              // Clear label (except checkbox which we already moved)
              label.innerHTML = '';
              label.appendChild(wrapper);
              
              // Add click handler only to toggle
              toggle.addEventListener('click', (e) => {
                e.preventDefault();
                e.stopPropagation();
                toggleChildren(item, items, index, toggle);
              });
              
              // Mark parent
              item.classList.add('has-children');
              
              // Check if should be expanded by default (active state)
              const hasActiveChild = items.slice(index + 1).some(childItem => {
                const childDepth = parseInt(childItem.getAttribute('data-depth'));
                if (childDepth === 0) return false;
                return childItem.classList.contains('brx-option-active');
              });
              
              if (hasActiveChild || item.classList.contains('brx-option-active')) {
                item.setAttribute('data-collapsed', 'false');
                toggle.classList.add('expanded');
              } else {
                item.setAttribute('data-collapsed', 'true');
              }
            }
          }
        }
        
        // Process child items (depth-1)
        if (depth === 1) {
          if (!item.classList.contains('child-item')) {
            item.classList.add('child-item');
            
            // Find parent to check its state
            let parentItem = null;
            for (let j = index - 1; j >= 0; j--) {
              if (parseInt(items[j].getAttribute('data-depth')) === 0) {
                parentItem = items[j];
                break;
              }
            }
            
            // Check if any sibling is active
            let hasActiveSibling = false;
            if (parentItem) {
              const parentIndex = items.indexOf(parentItem);
              for (let j = parentIndex + 1; j < items.length; j++) {
                const siblingDepth = parseInt(items[j].getAttribute('data-depth'));
                if (siblingDepth === 0) break;
                if (items[j].classList.contains('brx-option-active')) {
                  hasActiveSibling = true;
                  break;
                }
              }
            }
            
            const isActive = item.classList.contains('brx-option-active');
            const isParentActive = parentItem && parentItem.classList.contains('brx-option-active');
            const parentCollapsed = parentItem && parentItem.getAttribute('data-collapsed') === 'true';
            
            // Show if active, parent active, has active sibling, or parent not collapsed
            if (isActive || isParentActive || hasActiveSibling || !parentCollapsed) {
              item.classList.remove('collapsed');
            } else {
              item.classList.add('collapsed');
            }
          }
        }
      });
    });
  }
  
  function toggleChildren(parentItem, allItems, parentIndex, toggle) {
    const isCollapsed = parentItem.getAttribute('data-collapsed') === 'true';
    
    // Find all children of this parent
    const children = [];
    for (let i = parentIndex + 1; i < allItems.length; i++) {
      const item = allItems[i];
      const depth = parseInt(item.getAttribute('data-depth'));
      if (depth === 0) break;
      if (depth === 1) children.push(item);
    }
    
    // Check if parent or any child has active class
    const hasActiveChild = children.some(child => 
      child.classList.contains('brx-option-active')
    );
    const isParentActive = parentItem.classList.contains('brx-option-active');
    
    // Don't allow collapsing if parent or children are active
    if ((hasActiveChild || isParentActive) && !isCollapsed) {
      return;
    }
    
    // Toggle state
    if (isCollapsed) {
      toggle.classList.add('expanded');
      parentItem.setAttribute('data-collapsed', 'false');
      
      // Show all children with stagger
      children.forEach((item, idx) => {
        setTimeout(() => {
          item.classList.remove('collapsed');
        }, idx * 30);
      });
    } else {
      toggle.classList.remove('expanded');
      parentItem.setAttribute('data-collapsed', 'true');
      
      // Hide all children (except active ones)
      children.forEach((item, idx) => {
        if (!item.classList.contains('brx-option-active')) {
          setTimeout(() => {
            item.classList.add('collapsed');
          }, idx * 30);
        }
      });
    }
  }
  
  // Initialize on page load
  initializeFilters();
  
  // Watch for DOM changes (when filters update)
  const observer = new MutationObserver((mutations) => {
    let shouldReinit = false;
    mutations.forEach((mutation) => {
      if (mutation.type === 'childList' || mutation.type === 'attributes') {
        shouldReinit = true;
      }
    });
    if (shouldReinit) {
      setTimeout(initializeFilters, 100);
    }
  });
  
  // Observe all filter lists
  document.querySelectorAll('.brxe-filter-checkbox').forEach(list => {
    observer.observe(list, {
      childList: true,
      subtree: true,
      attributes: true,
      attributeFilter: ['class']
    });
  });
  
  // Also observe for new filter lists being added
  const bodyObserver = new MutationObserver(() => {
    initializeFilters();
  });
  
  bodyObserver.observe(document.body, {
    childList: true,
    subtree: true
  });
  
})();
{% set ab_brands = get_items('authority-brands-family') %}
<section class="ab-brand-carousel lazyload" data-lazyload-scripts>
    <script type="text/lazyload" defer>
        window.cachedScript('{{ jquery_asset }}', function () {
        window.cachedScript('https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js', function() {
          
        $('.brand-carousel').slick({
            infinite: false,
            slidesToShow: 5,
            slidesToScroll: 1,
            autoplay: false,
            dots: true,
            dotsClass: 'custom_paging',
            customPaging: function (slider, i) {
                //FYI just have a look at the object to find available information
                //press f12 to access the console
                //you could also debug or look in the source
                console.log(slider);
                return (i + 1) + '/' + '4';
            },
            prevArrow: '<button type="button" class="slick-prev" aria-label="Previous"><svg viewBox="0 0 24 24" data-use="/cms/svg/site/b2y9pjm25f9.24.2310051433020.svg#arrow_left"><path d="M6.407 5.538l1.339 1.351l-4.111 4.146H24v1.928H3.633l4.112 4.147l-1.339 1.351l-6.406-6.461Z"></path></svg></button>',
          nextArrow: '<button type="button" class="slick-next" aria-label="Next"><svg viewBox="0 0 24 24" data-use="/cms/svg/site/b2y9pjm25f9.24.2310051433020.svg#arrow_right"><path d="M17.594 5.539L16.255 6.889l4.111 4.146H0v1.928H20.368L16.255 17.111L17.594 18.462l6.406-6.462Z"></path></svg></button>',
            rows: 0,
              responsive: [
                {
                  breakpoint: 1280,
                  settings: {
                    slidesToShow: 4
                  }
                },
                {
                  breakpoint: 768,
                  settings: {
                    slidesToShow: 3,
                    customPaging: function (slider, i) {
                        //FYI just have a look at the object to find available information
                        //press f12 to access the console
                        //you could also debug or look in the source
                        console.log(slider);
                        return (i + 1) + '/' + '6';
                    }
                  }
                },
                {
                  breakpoint: 500,
                  settings: {
                    slidesToShow: 2,
                    customPaging: function (slider, i) {
                        //FYI just have a look at the object to find available information
                        //press f12 to access the console
                        //you could also debug or look in the source
                        console.log(slider);
                        return (i + 1) + '/' + '8';
                    }
                  }
                }
              ]
            });
            
        });
        // End Cache Script 
        });
    </script>
    <div class="st-container-md">
        
        <div class="st-section-head st-center">
            <h2>Part of the Authority Brands Family</h2>
            <p>Today, Authority Brands® owns Homewatch CareGivers®, which is headed up by President, Todd Houghton. The mission is to provide superior quality home care services, a compelling employment opportunity and to be a trusted partner within the healthcare continuum.</p>
        </div>
        <div class="brand-carousel slick-slider">
            
            {% for brand in ab_brands|sort(attribute='name') %}
            
            {% if brand.logo and brand.link %}
            <div class="lp-ab-carousel-item">
                <a href="{{ brand.link }}" target="_blank" class="lp-ab-carousel-item-inner">
                <img data-src="{{ brand.logo }}" class="lazyload" height="100" width="120"  alt="{{ brand.brand_name }} logo">
                </a>
            </div>
            {% endif %}
    
            {% endfor %}
        </div>
    </div>
    
    
</section>
public boolean canConstruct(String ransomNote, String magazine) {
    if (ransomNote.length() > magazine.length()) return false;

    int[] count = new int[26];

    for (char c : magazine.toCharArray()) {
        count[c - 'a']++;
    }

    for (char c : ransomNote.toCharArray()) {
        if (--count[c - 'a'] < 0) {
            return false;
        }
    }

    return true;
}
The Sports Betting App Development focuses on building dynamic, secure platforms that connect users to live sports events instantly. By integrating advanced analytics, seamless payment options, and personalized experiences, these apps offer reliable, real-time betting solutions that engage users while ensuring compliance and scalability.

Visit more: business@kryptobees.com
The Sports Betting App Development focuses on building dynamic, secure platforms that connect users to live sports events instantly. By integrating advanced analytics, seamless payment options, and personalized experiences, these apps offer reliable, real-time betting solutions that engage users while ensuring compliance and scalability.

Visit more: business@kryptobees.com
_PurchTable.(fieldname2id(tablename2id("Purchtable"),("nwPeriodId")))
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":sunshine: :x-connect: Boost Days: What's on this week :x-connect: :sunshine:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Good morning Brisbane and Hello November :sunshine: \n\n Please see below for what's on this week! :yay: "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-3: Monday,3rd November",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Industry Beans*.\n\n :Lunch: :flag-mx: Yummy Mexican from *Zambero* provided in the kitchen from *12pm* in the kitchen. Menu is in the :thread:\n\n:massage:*Wellbeing*: Pilates at *SP Brisbane City* is bookable every Monday!"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-5: Wednesday, 5th November",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Industry Beans*. \n\n:lunch: *Morning Tea*:from *9am* in the kitchen!"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y19uY2M4cDN1NDRsdTdhczE0MDhvYjZhNnRjb0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Brisbane Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":x-connect: :star: Boost Days – What’s on this week in Melbourne!:star: :x-connect:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Hey Melbourne,\n\n Happy November :heart:\n\n*See below for what’s in store:* 👇"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-5: *Wednesday, 5th November*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café* – Café-style beverages and sweet treats.\n:matcha: *Barista Special* – Iced Matcha Latte\n:flag-gr: *French Lunch* - *Lunch* from *12.00pm* in the *Wominjeka Breakout Space on Level 3*. Menu in the :thread: "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-6: *Thursday,6th November*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café* – Café-style beverages and sweet treats.\n  :Breakfast: Join us at 8.30am -10.30am for Breakfast in the Wominjeka Breakout Space on Level 3."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*What else :heart:*\n\nStay tuned to this channel, and make sure you’re subscribed to the <https://calendar.google.com/calendar/u/0/r?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t /|*Melbourne Social Calendar*> for all upcoming events."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " \n\nLove,\nWX :party-wx:"
			}
		}
	]
}
wget --no-check-certificate https://archive.apache.org/dist/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz
tar -xzf kafka_2.10-0.8.2.2.tgz

cd kafka_2.10-0.8.2.2

bin/zookeeper-server-start.sh config/zookeeper.properties

second terminal :
bin/kafka-server-start.sh config/server.properties

third terminal : (if test-topic is present, then change name)
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 -topic test-topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test-topic --from-beginning | nc -lk 9999


Fourth terminal : (if test-topic is present, then change name)

gedit spark_socket_consumer.py

from pyspark import SparkConf, SparkContext
from pyspark.streaming import StreamingContext

conf = SparkConf().setAppName("SocketKafkaForwardConsumer").setMaster("local[2]")
sc = SparkContext(conf=conf)
ssc = StreamingContext(sc, 5)  # 5-second batch interval

lines = ssc.socketTextStream("localhost", 9999)

def process(rdd):
    count = rdd.count()
    if count > 0:
        print("Received {} records in this batch",count)
        for i, record in enumerate(rdd.take(10), start=1):
            print(i, record)
    else:
        print("No records in this batch")
lines.foreachRDD(process)

ssc.start()
ssc.awaitTermination()



spark-submit --master local[2] spark_socket_consumer.py



Terminal 5 :

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
STEP 1: Launch Hive

STEP 2: Create or Use a Database
SHOW DATABASES;
CREATE DATABASE IF NOT EXISTS company;
USE company;

Confirm:

SELECT current_database();


step3:
CREATE TABLE employee1 (
  id INT,
  name STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
TBLPROPERTIES ("skip.header.line.count"="1");

STEP 4:(type exit;)
cd /home/cloudera/
gedit employee1.csv

Paste the data below:

id,name
101,satvik
102,rahul
103,rishi
104,nithish

STEP 5:Reopen Hive
hive
USE company;
LOAD DATA LOCAL INPATH '/home/cloudera/employee1.csv' INTO TABLE employee1;
  
SELECT * FROM employee1;
STEP 6:(type exit;)
gedit CapitalizeUDF.java

import org.apache.hadoop.hive.ql.exec.UDF;
import org.apache.hadoop.io.Text;

public class CapitalizeUDF extends UDF {
    public Text evaluate(Text input) {
        if (input == null) return null;
        String str = input.toString().trim();
        if (str.isEmpty()) return new Text("");
        String result = str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase();
        return new Text(result);
    }
}

STEP 7: Compile the Java File

In the terminal:

javac -classpath $(hadoop classpath):/usr/lib/hive/lib/* -d . CapitalizeUDF.java

STEP 8: Create a JAR File
jar -cvf CapitalizeUDF.jar CapitalizeUDF.class


Check:
ls
STEP 9: Add JAR to Hive

Open Hive again:

hive
USE company;
ADD JAR /home/cloudera/CapitalizeUDF.jar;


You’ll get:

Added resources: /home/cloudera/CapitalizeUDF.jar

STEP 10: Create a Temporary Function
CREATE TEMPORARY FUNCTION capitalize AS 'CapitalizeUDF';

STEP 11: Use the Function
SELECT id, capitalize(name) AS capitalized_name FROM employee1;
!pip install pyspark
import pyspark
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, avg, round, when, current_date, datediff

# -----------------------------------------------------
# Create Spark Session
# -----------------------------------------------------
spark = SparkSession.builder.appName("EmployeeDataAnalysis").getOrCreate()

# -----------------------------------------------------
# Read CSV file into DataFrame
# -----------------------------------------------------
df = spark.read.csv("emp1.csv", header=True, inferSchema=True)

print("\n=== Original Employee Data ===")
df.show()

# -----------------------------------------------------
# (a) Calculate the average salary for each department
# -----------------------------------------------------
avg_salary = df.groupBy("Department").agg(round(avg("Salary"), 2).alias("Avg_Salary"))

print("\n=== (a) Average Salary per Department ===")
avg_salary.show()

# -----------------------------------------------------
# Join the average salary data back to the main DataFrame
# -----------------------------------------------------
df = df.join(avg_salary, on="Department", how="left")

print("\n=== After Joining Average Salary to Main Data ===")
df.show()

# -----------------------------------------------------
# (b) Create new column 'Salary Increase (%)'
# -----------------------------------------------------
df = df.withColumn(
    "Salary_Increase(%)",
    round(((col("Salary") - col("Avg_Salary")) / col("Avg_Salary")) * 100, 2)
)

print("\n=== (b) Salary Increase (%) for Each Employee ===")
df.select("EmpID", "Name", "Department", "Salary", "Avg_Salary", "Salary_Increase(%)").show()

# -----------------------------------------------------
# (c) Add new column 'YearsWithCompany'
# -----------------------------------------------------
df = df.withColumn(
    "YearsWithCompany",
    round(datediff(current_date(), col("JoinDate")) / 365, 1)
)

print("\n=== (c) Years Each Employee Has Been with the Company ===")
df.select("EmpID", "Name", "JoinDate", "YearsWithCompany").show()

# -----------------------------------------------------
# (d) Categorize salary into ranges (Low, Medium, High)
# -----------------------------------------------------
df = df.withColumn(
    "Salary_Category",
    when(col("Salary") < 55000, "Low")
    .when((col("Salary") >= 55000) & (col("Salary") < 65000), "Medium")
    .otherwise("High")
)

print("\n=== (d) Salary Category Based on Salary Range ===")
df.select("EmpID", "Name", "Salary", "Salary_Category").show()

# -----------------------------------------------------
# Final DataFrame
# -----------------------------------------------------
print("\n=== Final Employee Data with All Calculations ===")
df.show()

# -----------------------------------------------------
# Stop the Spark session
# -----------------------------------------------------
spark.stop()


emp1
EmpID,Name,Department,Salary,JoinDate
101,John,IT,60000,2018-03-15
102,Alice,HR,50000,2016-07-21
103,Bob,Finance,55000,2015-09-10
104,David,IT,70000,2019-05-01
105,Emma,HR,65000,2020-02-12




An exchange rate cannot be found for exchange rate type XXX between currencies YYY and ZZZ on exchange date.
// must be fill ReporingCurrencyExchrate 
LedgerJournalTrans.ReporingCurrencyExchrate = LedgerJournalTrans.Exchrate;
{
  "Bloom": "false",
  "CursorHitboxRange": "15",
  "DepthOfField": "false",
  "DFFlagPolicyServiceReportDetailIsNotSubjectToChinaPolicies": "False",
  "DFFlagContentProviderFixAssetFormatHashingInUpdatePriority": "True",
  "DFFlagVoiceChatClientRewriteSubOperationRaceWithLeaveFix": "True",
  "DFFlagDebugAuroraServiceRevertAddBindingForNextFixedStep": "True",
  "DFFlagVoiceChatPossibleDuplicateSubscriptionsTelemetry": "False",
  "DFFlagSkipHighResolutiontextureMipsOnLowMemoryDevices2": "True",
  "DFFlagPolicyServiceReportIsNotSubjectToChinaPolicies": "False",
  "DFFlagSimAdaptiveAdjustTimestepForControllerManager": "false",
  "DFFlagTeleportClientAssetPreloadingDoingExperiment2": "True",
  "DFFlagVoiceChatJoinProfilingUsingTelemetryStat_RCC": "False",
  "DFFlagSimStepPhysicsFixNotifyPrimitivesUseAfterFree": "True",
  "DFFlagTeleportClientAssetPreloadingDoingExperiment": "True",
  "DFFlagVoiceChatCullingRecordEventIngestTelemetry": "False",
  "DFFlagFixImprovedSearchCutThroughWallLerpTarget": "True",
  "DFFlagTeleportClientAssetPreloadingEnabledIXP2": "True",
  "DFFlagEnableSkipUpdatingGlobalTelemetryInfo2": "False",
  "DFFlagTeleportClientAssetPreloadingEnabledIXP": "True",
  "DFFlagFixAccoutrementWeldCreationForPluginGUI": "True",
  "DFFlagFixNavigationAnalyticDuplicatePlaceId": "True",
  "DFFlagAudioEnableVolumetricPanningForMeshes": "True",
  "DFFlagTeleportClientAssetPreloadingEnabled9": "True",
  "DFFlagRenderBloomMakeResolutionIndependent": "false",
  "DFFlagVoiceChatClientRewriteFixMuteAbandon": "True",
  "DFFlagRobloxTelemetryAddDeviceRAMPointsV2": "False",
  "DFFlagEmitSafetyTelemetryInCallbackEnable": "False",
  "DFFlagAudioEnableVolumetricPanningForPolys": "True",
  "DFFlagRenderBlurMakeResolutionIndependent": "false",
  "DFFlagRccLoadSoundLengthTelemetryEnabled": "False",
  "DFFlagUGCValidateMeshTriangleAreaFacesFix": "True",
  "DFFlagSimFixForBoundaryWaterCellBuoyancy": "True",
  "DFFlagCaptureEngineFixDereferencingNull": "True",
  "DFFlagFixSessionMetricTeleportCondition": "True",
  "DFFlagDisconnectReasonPerConnectionFix": "True",
  "DFFlagTeleportTimeToSleepAdjustmentFix": "True",
  "DFFlagPathfindingFixPathCutThoughtWall": "True",
  "DFFlagWindowsWebViewTelemetryEnabled": "False",
  "DFFlagRobloxTelemetryV2PointEncoding": "False",
  "DFFlagSimFixRunningControllerFreeFall": "True",
  "DFFlagSimActiveConstraintReportingFix": "True",
  "DFFlagDMServiceStatsNullPtrFixEnabled": "True",
  "DFFlagFixWhiteSpaceCauseDuplicateText": "True",
  "DFFlagFixRCCDisconnectReasonReporting": "True",
  "DFFlagGraphicsQualityUsageTelemetry": "False",
  "DFFlagReportRenderDistanceTelemetry": "False",
  "DFFlagReportAssetRequestV1Telemetry": "False",
  "DFFlagContentProviderFixClearContent": "True",
  "DFFlagDSTelemetryV2ReplaceSeparator": "False",
  "DFFlagCOLLAB4688FixUnmoderatedRetry": "True",
  "DFFlagTextureQualityOverrideEnabled": "True",
  "DFFlagSendRenderFidelityTelemetry": "False",
  "DFFlagCollectAudioPluginTelemetry": "False",
  "DFFlagSimFixCanSetNetworkOwnership": "True",
  "DFFlagHighlightsFixAncestorChanges": "True",
  "DFFlagFixHumanoidRootPartRaycasts": "True",
  "DFFlagVideoFixVideoSourceInfoFlag": "True",
  "DFFlagTeleportPreloadingMetrics5": "True",
  "DFFlagEnableFmodErrorsTelemetry": "False",
  "DFFlagEnableTelemetryV2FRMStats": "False",
  "DFFlagSimBucketCountAnalyticsFix": "True",
  "DFFlagPromptsFixDisabledOnServer": "True",
  "DFFlagEnableLightstepReporting2": "False",
  "DFFlagFixUICornerStrokeConflict": "True",
  "DFFlagFixLastAssetDeliveredTime": "True",
  "DFFlagAudioUseVolumetricPanning": "True",
  "DFFlagFixSkyBoxTextureBlurrines": "True",
  "DFFlagPhantomFreezeKeepAliveFix": "True",
  "DFFlagConfigServiceTelemetryFix": "True",
  "DFFlagDebugSimSolverPrimalDtFix": "True",
  "DFFlagGCJobMoreScopesAndLabels2": "true",
  "DFFlagSimFixAssemblyRadiusCalc": "True",
  "DFFlagAuroraFixForDoubleUpdate": "True",
  "DFFlagGpuVsCpuBoundTelemetry": "False",
  "DFFlagSampleAndRefreshRakPing": "True",
  "DFFlagEnableTexturePreloading": "True",
  "DFFlagGCRemovalTimeLimitStats": "true",
  "DFFlagMouseMoveOncePerFrame": "False",
  "DFFlagDebugSkipMeshVoxelizer": "True",
  "DFFlagVoiceFixBracesInBraces": "True",
  "DFFlagFixServerQueuePushBack": "True",
  "DFFlagFixCompositorAtomicsGc": "True",
  "DFFlagHttpFixUnfinishedBody": "True",
  "DFFlagFixJoinMismatchReport": "True",
  "DFFlagEnableSoundPreloading": "True",
  "DFFlagVoiceChatFixJoinRetry": "True",
  "DFFlagDataStoreReEntrantFix": "True",
  "DFFlagEnableMeshPreloading2": "True",
  "DFFlagDebugOverrideDPIScale": "True",
  "DFFlagAlwaysSkipDiskCache": "False",
  "DFFlagFixLadderSearchDepth": "True",
  "DFFlagSimCSG4FixBoxMapping": "True",
  "DFFlagNewPackageAnalytics": "false",
  "DFFlagHttpFixLastModified": "True",
  "DFFlagRakNetFixBwCollapse": "True",
  "DFFlagDebugPauseVoxelizer": "True",
  "DFFlagBaseNetworkMetrics": "False",
  "DFFlagFixFreefallCleanup": "True",
  "DFFlagSimOptimizeSetSize": "True",
  "DFFlagFixCircularBuffer": "True",
  "DFFlagSimSolverFixRodGS": "True",
  "DFFlagFixCREATORBUG5135": "True",
  "DFFlagFixCloudWarnings": "True",
  "DFFlagFixAppSuccssMult": "True",
  "DFFlagRakNetEnablePoll": "true",
  "DFFlagTimerServiceFix": "True",
  "DFFlagFixAVBURST15480": "True",
  "DFFlagStepExitStatFix": "True",
  "DFFlagDisableDPIScale": "True",
  "DFFlagCrash155229Fix": "True",
  "DFFlagDebugPerfMode": "True",
  "DFFlagVisBugFixVR": "True",
  "DFFlagFixFreefall": "True",
  "DFIntPolicyServiceReportDetailIsNotSubjectToChinaPoliciesHundredthsPercentage": "10000",
  "DFIntTimestepArbiterBoundingBoxIntersectionThresholdThou1": "1073741823",
  "DFIntTimestepArbiterBoundingBoxIntersectionThresholdThou2": "2147483646",
  "DFIntClientLightingEnvmapPlacementTelemetryHundredthsPercent": "100",
  "DFIntRakNetApplicationFeedbackScaleUpFactorHundredthPercent": "200",
  "DFIntTimestepArbiterVelocityCriteriaThresholdFourDt": "1073741823",
  "DFIntTimestepArbiterVelocityCriteriaThresholdTwoDt": "2147483646",
  "DFIntTimestepArbiterAngAccelerationThresholdThou": "1073741823",
  "DFIntVoiceChatTaskStatsTelemetryThrottleHundrethsPercent": "0",
  "DFIntGameNetPVHeaderRotationalVelocityZeroCutoffExponent": "1",
  "DFIntReportPhysicsFPSStatsForInfluxHundredthsPercentage": "0",
  "DFIntRakNetApplicationFeedbackInitialSpeedBPS": "2139999999",
  "DFIntWindowsWebViewTelemetryThrottleHundredthsPercent": "0",
  "DFIntGameNetPVHeaderRotationOrientIdToleranceExponent": "1",
  "DFIntSimAdaptiveHumanoidPDControllerSubstepMultiplier": "8",
  "DFIntNetworkStopProducingPacketsToProcessThresholdMs": "0",
  "DFIntRaknetBandwidthInfluxHundredthsPercentageV2": "10000",
  "DFIntGameNetPVHeaderLinearVelocityZeroCutoffExponent": "1",
  "DFIntTimestepArbiterConditionNumberThresholdThou": "1000",
  "DFIntSimExplicitlyCappedTimestepMultiplier": "2147483646",
  "DFIntBandwidthManagerApplicationDefaultBps": "796850000",
  "DFIntRakNetApplicationFeedbackMaxSpeedBPS": "2139999999",
  "DFIntRakNetClockDriftAdjustmentPerPingMillisecond": "10",
  "DFIntHttpBatchApiShutdownInfluxHundrethsPercentage": "0",
  "DFIntTimestepArbiterAccelerationModelFactorThou": "1000",
  "DFIntGraphicsOptimizationModeMaxFrameTimeTargetMs": "7",
  "DFIntGraphicsOptimizationModeMinFrameTimeTargetMs": "6",
  "DFIntGraphicsOptimizationModeFRMFrameRateTarget": "165",
  "DFIntMacWebViewTelemetryThrottleHundredthsPercent": "0",
  "DFIntPerformanceControlTextureQualityBestUtility": "-1",
  "DFIntGameNetPVHeaderTranslationZeroCutoffExponent": "1",
  "DFIntHttpBatchApiRejectedUrlHundredthsPercentage": "0",
  "DFIntBandwidthManagerDataSenderMaxWorkCatchupMs": "5",
  "DFIntMaxReceiveToDeserializeLatencyMilliseconds": "0",
  "DFIntMegaReplicatorNetworkQualityProcessorUnit": "10",
  "DFIntTimestepArbiterHumanoidTurningVelThreshold": "1",
  "DFIntTimestepArbiterCharacteristicLengthThou": "1000",
  "DFIntRakNetSelectUnblockSocketWriteDurationMs": "10",
  "DFIntTimestepArbiterHumanoidLinearVelThreshold": "1",
  "DFIntLightstepHTTPTransportHundredthsPercent2": "0",
  "DFIntHACDPointSampleDistApartTenths": "2147483647",
  "DFIntClientPacketUnhealthyContEscMsPerSecond": "0",
  "DFIntSimCSG3DCDRecomputeTotalWaitMiliSec": "10000",
  "DFIntParallelAdaptiveInterpolationBatchCount": "2",
  "DFIntMaxWaitTimeBeforeForcePacketProcessMS": "0",
  "DFIntAnimationLodFacsVisibilityDenominator": "0",
  "DFIntClientPacketMaxFrameMicroseconds": "100000",
  "DFIntClientPacketHealthyAllocationPercent": "80",
  "DFIntCSGLevelOfDetailSwitchingDistanceL34": "0",
  "DFIntDebugSimPrimalPreconditionerMinExp": "100",
  "DFIntRakNetBandwidthPingSendEveryXSeconds": "1",
  "DFIntMaxProcessPacketsStepsAccumulated": "1000",
  "DFIntRaknetBandwidthPingSendEveryXSeconds": "1",
  "DFIntTimestepArbiterCollidingHumanoidTsm": "25",
  "DFIntSimDefaultHumanoidTimestepMultiplier": "8",
  "DFIntMaxProcessPacketsStepsPerCyclic": "50000",
  "DFIntInterpolationNumMechanismsPerTask": "100",
  "DFIntClientPacketHealthyMsPerSecondLimit": "0",
  "DFIntSimTimestepMultiplierDebounceCount": "-5",
  "DFIntDebugSimPrimalWarmstartVelocity": "-150",
  "DFIntHttpBatchApi_MaxBatchesSentPerCyle": "5",
  "DFIntTimestepArbiterThresholdCFLThou": "1000",
  "DFIntSignalRCoreKeepAlivePingPeriodMs": "25",
  "DFIntPhysicsSenderMaxBandwidthBps": "100000",
  "DFIntHttpBatchApi_bgRefreshMaxDelayMs": "30",
  "DFIntSignalRCoreRpcQueueSize": "2147483647",
  "DFIntSignalRCoreHandshakeTimeoutMs": "3000",
  "DFIntMaxAverageFrameDelayExceedFactor": "2",
  "DFIntWaitOnUpdateNetworkLoopEndedMS": "100",
  "DFIntPhysicsDecompForceUpgradeVersion": "1",
  "DFIntAnalyticsServiceMonitoringPeriod": "0",
  "DFIntRakNetPingFrequencyMillisecond": "10",
  "DFIntDebugSimPrimalWarmstartForce": "-775",
  "DFIntRakNetNakResendDelayRttPercent": "20",
  "DFIntNumAssetsMaxToPreload": "2147483647",
  "DFIntSignalRCoreServerTimeoutMs": "20000",
  "DFIntDebugSimPrimalPreconditioner": "100",
  "DFIntRakNetResendBufferArrayLength": "64",
  "DFIntNumFramesAllowedToBeAboveError": "1",
  "DFIntLargePacketQueueSizeCutoffMB": "512",
  "DFIntPerformanceControlFrameTimeMax": "2",
  "DFIntMaxProcessPacketsJobScaling": "2000",
  "DFIntSimCSG3DCDMaxNumConvexHulls": "1000",
  "DFIntClientPacketExcessMicroseconds": "0",
  "DFIntSignalRCoreHubMaxBackoffMs": "5000",
  "DFIntVoiceChatRollOffMaxDistance": "999",
  "DFIntInterpolationMinAssemblyCount": "2",
  "DFIntPlayerNetworkUpdateQueueSize": "20",
  "DFIntNetworkInterpolationBuffer": "250",
  "DFIntMinTimeBetweenClickActionsMs": "0",
  "DFIntInputActionProcessingDelayMs": "0",
  "DFIntMinimumNumberMechanismsForMT": "1",
  "DFIntInterpolationDtLimitForLod": "0.5",
  "DFIntTargetTimeDelayFacctorTenths": "0",
  "DFIntDebugFRMQualityLevelOverride": "1",
  "DFIntAnimationLodFacsDistanceMin": "0",
  "DFIntAnimationLodFacsDistanceMax": "0",
  "DFIntVoiceChatRollOffMinDistance": "1",
  "DFIntClientPacketMinMicroseconds": "0",
  "DFIntRuntimeConcurrency": "2139999999",
  "DFIntWaitOnRecvFromLoopEndedMS": "100",
  "DFIntTimestepArbiterOmegaThou": "1000",
  "DFIntSignalRCoreHubBaseRetryMs": "10",
  "DFIntDebugSimPrimalLineSearch": "100",
  "DFIntDebugSimPrimalToleranceInv": "1",
  "DFIntRakNetNakResendDelayMsMax": "75",
  "DFIntPredictionLagCompensation": "10",
  "DFIntMinimalNetworkPrediction": "0.1",
  "DFIntRakNetResendRttMultiple": "0.5",
  "DFIntActionStationDebounceTime": "5",
  "DFIntCodecMaxOutgoingFrames": "2000",
  "DFIntAccelerationTimeThreshold": "0",
  "DFIntNewRunningBaseAltitudeD": "195",
  "DFIntMaxAcceptableUpdateDelay": "10",
  "DFIntRenderClampRoughnessMax": "225",
  "DFIntHttpBatchApi_cacheDelayMs": "5",
  "DFIntCurvePhysicsUpdateRate": "200",
  "DFIntParryWindowExtensionMs": "150",
  "DFIntAssetPreloading": "2147483647",
  "DFIntTaskSchedulerTargetFps": "2000",
  "DFIntCanHideGuiGroupId": "32380007",
  "DFIntServerPhysicsUpdateRate": "30",
  "DFIntMaxDataOutJobScaling": "10000",
  "DFIntPlayerNetworkUpdateRate": "60",
  "DFIntCodecMaxIncomingPackets": "60",
  "DFIntRuntimeTickrate": "2147483647",
  "DFIntDebugSimPrimalNewtonIts": "3",
  "DFIntPhysicsSolverIterations": "2",
  "DFIntMaxPhysicsStepsPerFrame": "1",
  "DFIntDebugRestrictGCDistance": "1",
  "DFIntNetworkLatencyTolerance": "5",
  "DFIntRunningBaseOrientationP": "1",
  "DFIntHttpAnalyticsMaxHistory": "0",
  "DFIntHttpBatchApi_bgDelayMs": "10",
  "DFIntRakNetNakResendDelayMs": "0",
  "DFIntSlutterBallSmoothness": "50",
  "DFIntBallCollisionTolerance": "5",
  "DFIntBallHitboxDesyncFactor": "3",
  "DFIntClientRecvFromRaknet": "255",
  "DFIntClientPacketMaxDelayMs": "0",
  "DFIntTextureQualityOverride": "2",
  "DFIntHttpBatchApi_maxWaitMs": "5",
  "DFIntHttpBatchApi_maxReqs": "128",
  "DFIntHttpBatchApi_minWaitMs": "1",
  "DFIntCurvePhysicsPrecision": "4",
  "DFIntLagBallCompensation": "100",
  "DFIntSlutterBallPrecision": "16",
  "DFIntTargetTimeDelayFactor": "0",
  "DFIntOptimizePingThreshold": "1",
  "DFIntConnectionMTUSize": "1400",
  "DFIntS2PhysicsSenderRate": "30",
  "DFIntVoiceChatRollOffMode": "2",
  "DFIntParryCooldownTimeMs": "0",
  "DFIntNetworkPrediction": "240",
  "DFIntMaxFrameBufferSize": "4",
  "DFIntMaxThrottleCount": "2",
  "DFIntMaxFrameBuffers": "1",
  "DFIntLagBallSyncRate": "1",
  "DFIntMaxFramesToSend": "1",
  "DFIntServerTickRate": "60",
  "DFIntHttpBatchLimit": "64",
  "DFIntGraphicsLevel": "4",
  "DFIntRakNetLoopMs": "0",
  "DFIntNetworkDelay": "1",
  "DFIntlagBallCurveStrength": "10",
  "DFStringCrashUploadToBacktraceWindowsPlayerToken": "null",
  "DFStringWebviewUrlAllowlist": "www.youtube-nocookie.com",
  "DFStringCrachUploadToBacktraceMacPlayerToken": "null",
  "DFStringCrashUploadToBacktraceMacPlayerToken": "null",
  "DFStringLightstepHTTPTransportUrlHost": "null",
  "DFStringLightstepHTTPTransportUrlPath": "null",
  "DFStringCrashUploadToBacktraceBaseUrl": "null",
  "DFStringAltTelegrafHTTPTransportUrl": "null",
  "DFStringAltHttpPointsReporterUrl": "null",
  "DFStringTelegrafHTTPTransportUrl": "null",
  "DFStringHttpPointsReporterUrl": "null",
  "DFStringRobloxAnalyticsURL": "null",
  "DFStringTelemetryV2Url": "0.0.0.0",
  "DFStringLightstepToken": "null",
  "DisableTextureStreaming": "true",
  "FFlagVoiceChatRobloxAudioDeviceUpdateRecordedBufferTelemetryEnabled": "False",
  "FFlagVoiceChatCustomAudioDeviceEnableNeedMorePlayoutTelemetry3": "False",
  "FFlagVoiceChatCustomAudioDeviceEnableNeedMorePlayoutTelemetry": "False",
  "FFlagFixStrangerThingsIssueUsingAdditionalInvalidationSignal": "True",
  "FFlagVoiceChatCustomAudioMixerEnableUpdateSourcesTelemetry2": "False",
  "FFlagVoiceChatDontSendTelemetryForPubIceTrickle": "False",
  "FFlagFixFirstPersonMouseCursorSnapping_CenterPos": "True",
  "FFlagUIPageLayoutCurrentPageLayoutOrderChangeFix": "True",
  "FFlagFixTextureCompositorFramebufferManagement2": "True",
  "FFlagFixTextboxSinkingInputOfOverlappingButtons": "True",
  "FFlagPerformanceControlAverageTunableQualityFix": "True",
  "FFlagVoiceChatCullingEnableMutedSubsTelemetry": "False",
  "FFlagVoiceChatCullingEnableStaleSubsTelemetry": "False",
  "FFlagLocServiceUseNewAutoLocSettingEndpointFix": "True",
  "FFlagCLI_148857_GenerationServiceTestingFixes": "True",
  "FFlagVoiceChatPeerConnectionTelemetryDetails": "False",
  "FFlagVoiceChatSubscriptionsDroppedTelemetry": "False",
  "FFlagUserHideCharacterParticlesInFirstPerson": "True",
  "FFlagUpdateHTTPCookieStorageFromWKWebView": "False",
  "FFlagGamepadEmulatorIsGamepadKeyPressedFix": "True",
  "FFlagFixPersistentConstantBufferInstancing": "True",
  "FFlagContentProviderPreloadHangTelemetry": "False",
  "FFlagVoxelGridFixGetNonEmptyRegionsInside": "True",
  "FFlagEnablePhysicsAdaptiveTimeSteppingIXP": "true",
  "FFlagChatTranslationEnableSystemMessage": "False",
  "FFlagPropertiesWidgetFixShortcutHandling": "True",
  "FFlagEnableWindowsFixPermissionsProtocol": "True",
  "FFlagFixIntervalStatStartSamplingThisUse": "True",
  "FFlagVideoServiceAddHardwareCodecMetrics": "True",
  "FFlagTextureGeneratorPreviewAnimationFix": "True",
  "FFlagRenderFixParticleDegenCrossProduct": "True",
  "FFlagModifiedPropertiesFixEventOrdering": "True",
  "FFlagPerformanceControlFixTelemetryName": "True",
  "FFlagFixSurfaceGuisBreakingAfterRespawn": "True",
  "FFlagTouchInputServiceFixesPanLongpress": "True",
  "FFlagLuaVoiceChatAnalyticsUseCounterV2": "False",
  "FFlagRenderLegacyShadowsQualityRefactor": "True",
  "FFlagTaskSchedulerLimitTargetFpsTo2402": "False",
  "FFlagHandleAltEnterFullscreenManually": "False",
  "FFlagNewAutoSaveDialogFixDefaultAction": "True",
  "FFlagFixCountOfUnreadNotificationError": "True",
  "FFlagFixGLResourceFreeOnDeviceShutdown": "True",
  "FFlagLuaVoiceChatAnalyticsUseEventsV2": "False",
  "FFlagLuaVoiceChatAnalyticsUsePointsV2": "False",
  "FFlagUserFixOverlappingRtlChatMessages": "True",
  "FFlagLuaAppLegacyInputSettingRefactor": "True",
  "FFlagLuaVoiceChatAnalyticsBanMessage": "False",
  "FFlagVideoReportHardwareBufferMetrics": "True",
  "FFlagFixNullPtrCrashInLoadImageBuffer": "True",
  "FFlagFixRedundantAllocationInAnimator": "True",
  "FFlagDebugEnableDirectAudioOcclusion2": "True",
  "FFlagEnableBubbleChatFromChatService": "False",
  "FFlagEnableInGameMenuDurationLogger": "False",
  "FFlagFixSmoothingDegenerateTriangles": "True",
  "FFlagSimAdaptiveTimesteppingDefault2": "True",
  "FFlagEnablePerformanceControlService": "True",
  "FFlagFixIntervalStatsSynchronization": "True",
  "FFlagUIListLayoutFixFlexCrossPadding": "True",
  "FFlagDisableFeedbackSoothsayerCheck": "False",
  "FFlagFixSoundTunableMemoryCurveSlope": "True",
  "FFlagImmHandlerFixJapaneseAndKorean3": "True",
  "FFlagBetaBadgeLearnMoreLinkFormview": "False",
  "FFlagEnableMenuModernizationABTest2": "False",
  "FFlagChatTranslationSettingEnabled3": "False",
  "FFlagUserSoundsUseRelativeVelocity2": "True",
  "FFlagEnableAndroidAssetReaderOTAFix": "True",
  "FFlagEnableLuaVoiceChatAnalyticsV2": "False",
  "FFlagAssetConfigFixBadIdVerifyState": "True",
  "FFlagFixOutdatedTimeScaleParticles": "False",
  "FFlagDebugRenderingSetDeterministic": "True",
  "FFlagEnableInGameMenuChromeABTest3": "False",
  "FFlagEnableMenuModernizationABTest": "False",
  "FFlagDebugDisableOTAMaterialTexture": "True",
  "FFlagDebugForceFutureIsBrightPhase2": "True",
  "FFlagGcInParallelWithRenderPrepare3": "true",
  "FFlagSimCSG3NewAPIFixColorAndScale": "True",
  "FFlagRobloxTelemetryFixHostNameKey": "True",
  "FFlagEditableImageProjectionOOBFix": "True",
  "FFlagEnableInGameMenuChromeABTest4": "True",
  "FFlagFixWrongTextBoundsInBillboard": "True",
  "FFlagFixGuiInputForDeferredSignals": "True",
  "FFlagGraphicsGLFixGL3FeatureChecks": "True",
  "FFlagRenderDynamicResolutionScale7": "True",
  "FFlagFixParticleAttachmentCulling": "False",
  "FFlagEnableInGameMenuModernization": "True",
  "FFlagGraphicsGLWindowsShutdownFix": "True",
  "FFlagRenderMobileNeonHighlightFix": "True",
  "FFlagDebugForceFSMCPULightCulling": "True",
  "FFlagToolboxFixMarketplacePublish": "True",
  "FFlagFixGetHumanoidForAccessories": "True",
  "FFlagVoxelGridFixStreamingRegions": "True",
  "FFlagDebugGraphicsPreferD3D11FL10": "True",
  "FFlagDebugSimDefaultPrimalSolver": "True",
  "FFlagSyncWebViewCookieToEngine2": "False",
  "FFlagCommitToGraphicsQualityFix": "False",
  "FFlagSHUseNewComputeLevelUsesOBB": "true",
  "FFlagEmitterTextureDimensionFix": "True",
  "FFlagMessageBusCallOptimization": "True",
  "FFlagImproveShiftLockTransition": "True",
  "FFlagPreloadTextureItemsOption4": "True",
  "FFlagGraphicsFixBaseInstancePVR": "True",
  "FFlagVideoFixEncryptedAlignment": "True",
  "FFlagFixCalloutResizeOgreWidget": "True",
  "FFlagEnableAudioPannerFiltering": "True",
  "FFlagTextureGeneratorHighLODFix": "True",
  "FFlagRenderDebugCheckThreading2": "True",
  "FFlagGraphicsEnableD3D10Compute": "True",
  "FFlagPropertiesEnableTelemetry": "False",
  "FFlagAnalyticsServiceForClient": "false",
  "FFlagFixParticleEmissionBias2": "False",
  "FFlagFixTextMismatchAndOverlap": "True",
  "FFlagControlBetaBadgeWithGuac": "False",
  "FFlagNavigationFixNewHeuristic": "True",
  "FFlagRenderModelMeshVLayoutFix": "True",
  "FFlagGraphicsFixMsaaInGuiScene": "True",
  "FFlagDebugCheckRenderThreading": "True",
  "FFlagDebugGraphicsDisableMetal": "true",
  "FFlagEnableMenuControlsABTest": "False",
  "FFlagDebugGraphicsPreferVulkan": "true",
  "FFlagHighlightOutlinesOnMobile": "True",
  "FFlagVideoFixSoundVolumeRange": "true",
  "FFlagMouseGetPartOptimization": "True",
  "FFlagQuaternionPoseCorrection": "True",
  "FFlagDebugGraphicsPreferD3D11": "True",
  "FFlagOptimizeNetworkTransport": "True",
  "FFlagEnableInGameMenuControls": "True",
  "FFlagNetworkSendRateThrottle": "False",
  "FFlagEnableTelemetryProtocol": "False",
  "FFlagEnableTelemetryService1": "False",
  "FFlagLargeReplicatorEnabled6": "True",
  "FFlagFixFlipbookLayoutStatus": "True",
  "FFlagTerrainFixDoubleMeshing": "True",
  "FFlagWrappedGridFixCLI148409": "True",
  "FFlagFixUIGradientFlickering": "True",
  "FFlagEnableNudgeAnalyticsV2": "false",
  "FFlagFixLogAsDFIntLightGrid": "True",
  "FFlagUserShowGuiHideToggles": "True",
  "FFlagFixSpecialFileMeshToIc": "True",
  "FFlagVideoCaptureFixRestart": "True",
  "FFlagFixRapidSoundStopStart": "True",
  "FFlagOptimizeServerTickRate": "True",
  "FFlagFixOutdatedParticles2": "False",
  "FFlagOptimizeNetworkRouting": "True",
  "FFlagEnableChromePinnedChat": "True",
  "FFlagEnableInGameMenuChrome": "True",
  "FFlagPhysicsThrottleAdjust": "False",
  "FFlagEnableChromeAnalytics": "false",
  "FFlagDebugForceGenerateHSR": "True",
  "FFlagEnableFPSAndFrameTime": "True",
  "FFlagLargeReplicatorWrite4": "True",
  "FFlagFixDspResetVolumeRamp": "True",
  "FFlagFixBTIDStateTelemetry": "True",
  "FFlagAnimationTrackStepFix": "True",
  "FFlagAlwaysShowVRToggleV3": "False",
  "FFlagOpenTelemetryEnabled": "False",
  "FFlagLargeReplicatorRead4": "True",
  "FFlagTerrainFixWaterLevel": "True",
  "FFlagFastGPULightCulling3": "True",
  "FFlagRenderNoLowFrmBloom": "False",
  "FFlagEnableV3MenuABTest3": "False",
  "FFlagReduceRenderDistance": "True",
  "FFlagSHUseNewComputeLevel": "true",
  "FFlagSortKeyOptimization": "True",
  "FFlagFixTestServiceStart": "True",
  "FFlagNewLightAttenuation": "True",
  "FFlagFixGraphicsQuality": "False",
  "FFlagFixMeshLoadingHang": "True",
  "FFlagAssetPreloadingIXP": "True",
  "FFlagFasterPreciseTime4": "True",
  "FFlagFixDiffToolSpacing": "True",
  "FFlagDisableNewIGMinDUA": "True",
  "FFlagOptimizeAnimations": "True",
  "FFlagAddHapticsToggle": "False",
  "FFlagAdServiceEnabled": "False",
  "FFlagFastLoadingAssets": "True",
  "FFlagD3D11SupportBGRA": "True",
  "FFlagHideCoreGuiFixes": "True",
  "FFlagFixFileMenuFiles": "True",
  "FFlagFCFixPartIndices": "True",
  "FFlagLuaAppSystemBar": "False",
  "FFlagDebugSSAOForce": "False",
  "FFlagVoiceBetaBadge": "False",
  "FFlagMovePrerenderV2": "True",
  "FFlagOptimizeNetwork": "True",
  "FFlagPreloadAllFonts": "True",
  "FFlagSimEnableDCD16": "True",
  "FFlagDebugPerfMode": "False",
  "FFlagMovePrerender": "True",
  "FFlagGImageJpegFix": "True",
  "FFlagDisablePostFx": "True",
  "FFlagDebugSkyBlack": "True",
  "FFlagFRMRefactor": "False",
  "FFlagFixBTIDState": "True",
  "FFlagFixCLI125315": "True",
  "FFlagDebugSkyGray": "True",
  "FFlagMSRefactor5": "False",
  "FFlagFixSBT4425": "True",
  "FIntMockClientLightingTechnologyIxpExperimentQualityLevel": "7",
  "FIntVoiceChatPerfSensitiveTelemetryIntervalSeconds": "-1",
  "FIntMaxTimestepMultiplierIntegrationError": "2147483647",
  "FIntMockClientLightingTechnologyIxpExperimentMode": "0",
  "FIntFullscreenTitleBarTriggerDelayMillis": "3600000",
  "FIntInterpolationAwareTargetTimeLerpHundredth": "80",
  "FIntMaxTimestepMultiplierAcceleration": "2147483647",
  "FIntMaxTimestepMultiplierContstraint": "2147483647",
  "FIntStudioWebView2TelemetryHundredthsPercent": "0",
  "FIntRenderMaxShadowAtlasUsageBeforeDownscale": "0",
  "FIntMaxTimestepMultiplierBuoyancy": "2147483647",
  "FIntMaxTimestepMultiplierHumanoid": "2147483647",
  "FIntMaxTimestepMultiplierVelocity": "2147483647",
  "FIntRakNetDatagramMessageIdArrayLength": "8192",
  "FIntPGSAngularDampingPermillPersecond": "1500",
  "FIntLuaVoiceChatAnalyticsPointsThrottle": "0",
  "FIntSmoothMouseSpringFrequencyTenths": "100",
  "FIntRomarkStartWithGraphicQualityLevel": "6",
  "FIntMaquettesFrameRateBufferPercentage": "1",
  "FIntTaskSchedulerMaxNumOfJobs": "2139999999",
  "FIntLuaAnalyticsReleasePeriod": "2147483647",
  "FIntSimSolverResponsiveness": "2147483647",
  "FIntDirectionalAttenuationMaxPoints": "0",
  "FIntRakNetResendBufferArrayLength": "128",
  "FIntRenderMeshOptimizeVertexBuffer": "1",
  "FIntActivatedCountTimerMSKeyboard": "0",
  "FIntVertexSmoothingGroupTolerance": "0",
  "FIntRuntimeMaxNumOfSchedulers": "20000",
  "FIntRuntimeMaxNumOfConditions": "20000",
  "FIntSimCSG3DCDRecomputeStrategy": "1",
  "FIntNumFramesToCaptureCallStack": "0",
  "FIntActivatedCountTimerMSMouse": "0",
  "FIntRuntimeMaxNumOfThreads": "20000",
  "FIntRuntimeMaxNumOfLatches": "20000",
  "FIntRuntimeMaxNumOfMutexes": "20000",
  "FIntInterpolationMaxDelayMSec": "0",
  "FIntRenderLocalLightFadeInMs": "0",
  "FIntUnifiedLightingBlendZone": "0",
  "FIntScrollWheelDeltaAmount": "300",
  "FIntRenderGrassDetailStrands": "0",
  "FIntUITextureMaxUpdateDepth": "1",
  "FIntRenderGrassHeightScaler": "0",
  "FIntRobloxGuiBlurIntensity": "0",
  "FIntRenderShadowIntensity": "0",
  "FIntTerrainArraySliceSize": "0",
  "FIntRenderShafowIntensity": "1",
  "FIntFRMMinGrassDistance": "0",
  "FIntFRMMaxGrassDistance": "0",
  "FIntRuntimeTickrate": "60",
  "FIntSSAOMipLevels": "0",
  "FIntCLI20390_2": "0",
  "FIntCLI20390": "0",
  "FLogTencentAuthPath": "/tencent/",
  "FLogRobloxTelemetry": "0",
  "FLogNetwork": "7",
  "FPSCap": "300",
  "FStringPartTexturePackTable2022": "{\u0022foil\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[238,238,238,255]},\u0022asphalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[227,227,228,234]},\u0022basalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[160,160,158,238]},\u0022brick\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[229,214,205,227]},\u0022cobblestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,219,219,243]},\u0022concrete\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[225,225,224,255]},\u0022crackedlava\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[76,79,81,156]},\u0022diamondplate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[210,210,210,255]},\u0022fabric\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[221,221,221,255]},\u0022glacier\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[225,229,229,243]},\u0022glass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://9873284556\u0022,\u0022rbxassetid://9438453972\u0022],\u0022color\u0022:[254,254,254,7]},\u0022granite\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[210,206,200,255]},\u0022grass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[196,196,189,241]},\u0022ground\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[165,165,160,240]},\u0022ice\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[235,239,241,248]},\u0022leafygrass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[182,178,175,234]},\u0022limestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[250,248,243,250]},\u0022marble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[181,183,193,249]},\u0022metal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[226,226,226,255]},\u0022mud\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[193,192,193,252]},\u0022pavement\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,218,219,236]},\u0022pebble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[204,203,201,234]},\u0022plastic\u0022:{\u0022ids\u0022:[\u0022\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[255,255,255,255]},\u0022rock\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[211,211,210,248]},\u0022corrodedmetal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[206,177,163,180]},\u0022salt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[249,249,249,255]},\u0022sand\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,216,210,240]},\u0022sandstone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[241,234,230,246]},\u0022slate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[235,234,235,254]},\u0022snow\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[239,240,240,255]},\u0022wood\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[217,209,208,255]},\u0022woodplanks\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[207,208,206,254]}}",
  "FStringPartTexturePackTablePre2022": "{\u0022foil\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[255,255,255,255]},\u0022brick\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[204,201,200,232]},\u0022cobblestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[212,200,187,250]},\u0022concrete\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[208,208,208,255]},\u0022diamondplate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[170,170,170,255]},\u0022fabric\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[105,104,102,244]},\u0022glass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://7547304948\u0022,\u0022rbxassetid://7546645118\u0022],\u0022color\u0022:[254,254,254,7]},\u0022granite\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[113,113,113,255]},\u0022grass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[165,165,159,255]},\u0022ice\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[255,255,255,255]},\u0022marble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[199,199,199,255]},\u0022metal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[199,199,199,255]},\u0022pebble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[208,208,208,255]},\u0022corrodedmetal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[159,119,95,200]},\u0022sand\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[220,220,220,255]},\u0022slate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[193,193,193,255]},\u0022wood\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[227,227,227,255]},\u0022woodplanks\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[212,209,203,255]},\u0022asphalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[123,123,123,234]},\u0022basalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[154,154,153,238]},\u0022crackedlava\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[74,78,80,156]},\u0022glacier\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[226,229,229,243]},\u0022ground\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[114,114,112,240]},\u0022leafygrass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[121,117,113,234]},\u0022limestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[235,234,230,250]},\u0022mud\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[130,130,130,252]},\u0022pavement\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[142,142,144,236]},\u0022rock\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[154,154,154,248]},\u0022salt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[220,220,221,255]},\u0022sandstone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[174,171,169,246]},\u0022snow\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,218,218,255]}}",
  "FStringGraphicsDisableUnalignedDxtGPUNameBlacklist": "NVIDIA GeForce RTX 4070 SUPER",
  "FStringDebugGraphicsPreferredGPUName": "NVIDIA GeForce RTX 4070 SUPER",
  "FStringPhysicsAdaptiveTimeSteppingIXP": "Physics.DefaultTimeStepping",
  "FStringExperienceGuidelinesExplainedPageUrl": "https://www.gov.cn",
  "FStringXboxExperienceGuidelinesUrl": "https://www.gov.cn",
  "FStringGoogleAnalyticsAccountPropertyLuaTest": "null",
  "FStringCoreScriptBacktraceErrorUploadToken": "null",
  "FStringRbxAnalyticsSessionsAllowlist": "null",
  "FStringVoiceBetaBadgeLearnMoreLink": "null",
  "FStringTerrainMaterialTablePre2022": "",
  "FStringAnalyticsSessionIdName": "null",
  "FStringTerrainMaterialTable2022": "",
  "FStringTencentAuthPath": "/tencent/",
  "FStringGamesUrlPath": "/games/",
  "GraphicsQuality": "1",
  "LightingEnabled": "false",
  "LowLatencyPhysics": "true",
  "LowMemoryMode": "true",
  "MaxParticleCount": "0",
  "MeshStreaming": "false",
  "NetworkReceiveRate": "750",
  "NetworkSendRate": "750",
  "ParryWindowTime": "0.3",
  "ParryHitboxSize": "10",
  "PhysicsParallelExecution": "1",
  "PhysicsFPS": "300",
  "PredictionLagCompensation": "2",
  "RenderThrottle": "1",
  "ShadowMapQuality": "1",
  "StreamingEnabled": "false",
  "SunRays": "false",
  "DFFlagTextureQualityOverrideEnabled": "True",
  "DFIntTextureQualityOverride": "2",
  "DFIntDebugFRMQualityLevelOverride": "2",
  "FFlagCoreGuiTypeSelfViewPresent": "False",
}
{
  "Bloom": "false",
  "CursorHitboxRange": "15",
  "DepthOfField": "false",
  "DFFlagPolicyServiceReportDetailIsNotSubjectToChinaPolicies": "False",
  "DFFlagContentProviderFixAssetFormatHashingInUpdatePriority": "True",
  "DFFlagVoiceChatClientRewriteSubOperationRaceWithLeaveFix": "True",
  "DFFlagDebugAuroraServiceRevertAddBindingForNextFixedStep": "True",
  "DFFlagVoiceChatPossibleDuplicateSubscriptionsTelemetry": "False",
  "DFFlagSkipHighResolutiontextureMipsOnLowMemoryDevices2": "True",
  "DFFlagPolicyServiceReportIsNotSubjectToChinaPolicies": "False",
  "DFFlagSimAdaptiveAdjustTimestepForControllerManager": "false",
  "DFFlagTeleportClientAssetPreloadingDoingExperiment2": "True",
  "DFFlagVoiceChatJoinProfilingUsingTelemetryStat_RCC": "False",
  "DFFlagSimStepPhysicsFixNotifyPrimitivesUseAfterFree": "True",
  "DFFlagTeleportClientAssetPreloadingDoingExperiment": "True",
  "DFFlagVoiceChatCullingRecordEventIngestTelemetry": "False",
  "DFFlagFixImprovedSearchCutThroughWallLerpTarget": "True",
  "DFFlagTeleportClientAssetPreloadingEnabledIXP2": "True",
  "DFFlagEnableSkipUpdatingGlobalTelemetryInfo2": "False",
  "DFFlagTeleportClientAssetPreloadingEnabledIXP": "True",
  "DFFlagFixAccoutrementWeldCreationForPluginGUI": "True",
  "DFFlagFixNavigationAnalyticDuplicatePlaceId": "True",
  "DFFlagAudioEnableVolumetricPanningForMeshes": "True",
  "DFFlagTeleportClientAssetPreloadingEnabled9": "True",
  "DFFlagRenderBloomMakeResolutionIndependent": "false",
  "DFFlagVoiceChatClientRewriteFixMuteAbandon": "True",
  "DFFlagRobloxTelemetryAddDeviceRAMPointsV2": "False",
  "DFFlagEmitSafetyTelemetryInCallbackEnable": "False",
  "DFFlagAudioEnableVolumetricPanningForPolys": "True",
  "DFFlagRenderBlurMakeResolutionIndependent": "false",
  "DFFlagRccLoadSoundLengthTelemetryEnabled": "False",
  "DFFlagUGCValidateMeshTriangleAreaFacesFix": "True",
  "DFFlagSimFixForBoundaryWaterCellBuoyancy": "True",
  "DFFlagCaptureEngineFixDereferencingNull": "True",
  "DFFlagFixSessionMetricTeleportCondition": "True",
  "DFFlagDisconnectReasonPerConnectionFix": "True",
  "DFFlagTeleportTimeToSleepAdjustmentFix": "True",
  "DFFlagPathfindingFixPathCutThoughtWall": "True",
  "DFFlagWindowsWebViewTelemetryEnabled": "False",
  "DFFlagRobloxTelemetryV2PointEncoding": "False",
  "DFFlagSimFixRunningControllerFreeFall": "True",
  "DFFlagSimActiveConstraintReportingFix": "True",
  "DFFlagDMServiceStatsNullPtrFixEnabled": "True",
  "DFFlagFixWhiteSpaceCauseDuplicateText": "True",
  "DFFlagFixRCCDisconnectReasonReporting": "True",
  "DFFlagGraphicsQualityUsageTelemetry": "False",
  "DFFlagReportRenderDistanceTelemetry": "False",
  "DFFlagReportAssetRequestV1Telemetry": "False",
  "DFFlagContentProviderFixClearContent": "True",
  "DFFlagDSTelemetryV2ReplaceSeparator": "False",
  "DFFlagCOLLAB4688FixUnmoderatedRetry": "True",
  "DFFlagTextureQualityOverrideEnabled": "True",
  "DFFlagSendRenderFidelityTelemetry": "False",
  "DFFlagCollectAudioPluginTelemetry": "False",
  "DFFlagSimFixCanSetNetworkOwnership": "True",
  "DFFlagHighlightsFixAncestorChanges": "True",
  "DFFlagFixHumanoidRootPartRaycasts": "True",
  "DFFlagVideoFixVideoSourceInfoFlag": "True",
  "DFFlagTeleportPreloadingMetrics5": "True",
  "DFFlagEnableFmodErrorsTelemetry": "False",
  "DFFlagEnableTelemetryV2FRMStats": "False",
  "DFFlagSimBucketCountAnalyticsFix": "True",
  "DFFlagPromptsFixDisabledOnServer": "True",
  "DFFlagEnableLightstepReporting2": "False",
  "DFFlagFixUICornerStrokeConflict": "True",
  "DFFlagFixLastAssetDeliveredTime": "True",
  "DFFlagAudioUseVolumetricPanning": "True",
  "DFFlagFixSkyBoxTextureBlurrines": "True",
  "DFFlagPhantomFreezeKeepAliveFix": "True",
  "DFFlagConfigServiceTelemetryFix": "True",
  "DFFlagDebugSimSolverPrimalDtFix": "True",
  "DFFlagGCJobMoreScopesAndLabels2": "true",
  "DFFlagSimFixAssemblyRadiusCalc": "True",
  "DFFlagAuroraFixForDoubleUpdate": "True",
  "DFFlagGpuVsCpuBoundTelemetry": "False",
  "DFFlagSampleAndRefreshRakPing": "True",
  "DFFlagEnableTexturePreloading": "True",
  "DFFlagGCRemovalTimeLimitStats": "true",
  "DFFlagMouseMoveOncePerFrame": "False",
  "DFFlagDebugSkipMeshVoxelizer": "True",
  "DFFlagVoiceFixBracesInBraces": "True",
  "DFFlagFixServerQueuePushBack": "True",
  "DFFlagFixCompositorAtomicsGc": "True",
  "DFFlagHttpFixUnfinishedBody": "True",
  "DFFlagFixJoinMismatchReport": "True",
  "DFFlagEnableSoundPreloading": "True",
  "DFFlagVoiceChatFixJoinRetry": "True",
  "DFFlagDataStoreReEntrantFix": "True",
  "DFFlagEnableMeshPreloading2": "True",
  "DFFlagDebugOverrideDPIScale": "True",
  "DFFlagAlwaysSkipDiskCache": "False",
  "DFFlagFixLadderSearchDepth": "True",
  "DFFlagSimCSG4FixBoxMapping": "True",
  "DFFlagNewPackageAnalytics": "false",
  "DFFlagHttpFixLastModified": "True",
  "DFFlagRakNetFixBwCollapse": "True",
  "DFFlagDebugPauseVoxelizer": "True",
  "DFFlagBaseNetworkMetrics": "False",
  "DFFlagFixFreefallCleanup": "True",
  "DFFlagSimOptimizeSetSize": "True",
  "DFFlagFixCircularBuffer": "True",
  "DFFlagSimSolverFixRodGS": "True",
  "DFFlagFixCREATORBUG5135": "True",
  "DFFlagFixCloudWarnings": "True",
  "DFFlagFixAppSuccssMult": "True",
  "DFFlagRakNetEnablePoll": "true",
  "DFFlagTimerServiceFix": "True",
  "DFFlagFixAVBURST15480": "True",
  "DFFlagStepExitStatFix": "True",
  "DFFlagDisableDPIScale": "True",
  "DFFlagCrash155229Fix": "True",
  "DFFlagDebugPerfMode": "True",
  "DFFlagVisBugFixVR": "True",
  "DFFlagFixFreefall": "True",
  "DFIntPolicyServiceReportDetailIsNotSubjectToChinaPoliciesHundredthsPercentage": "10000",
  "DFIntTimestepArbiterBoundingBoxIntersectionThresholdThou1": "1073741823",
  "DFIntTimestepArbiterBoundingBoxIntersectionThresholdThou2": "2147483646",
  "DFIntClientLightingEnvmapPlacementTelemetryHundredthsPercent": "100",
  "DFIntRakNetApplicationFeedbackScaleUpFactorHundredthPercent": "200",
  "DFIntTimestepArbiterVelocityCriteriaThresholdFourDt": "1073741823",
  "DFIntTimestepArbiterVelocityCriteriaThresholdTwoDt": "2147483646",
  "DFIntTimestepArbiterAngAccelerationThresholdThou": "1073741823",
  "DFIntVoiceChatTaskStatsTelemetryThrottleHundrethsPercent": "0",
  "DFIntGameNetPVHeaderRotationalVelocityZeroCutoffExponent": "1",
  "DFIntReportPhysicsFPSStatsForInfluxHundredthsPercentage": "0",
  "DFIntRakNetApplicationFeedbackInitialSpeedBPS": "2139999999",
  "DFIntWindowsWebViewTelemetryThrottleHundredthsPercent": "0",
  "DFIntGameNetPVHeaderRotationOrientIdToleranceExponent": "1",
  "DFIntSimAdaptiveHumanoidPDControllerSubstepMultiplier": "8",
  "DFIntNetworkStopProducingPacketsToProcessThresholdMs": "0",
  "DFIntRaknetBandwidthInfluxHundredthsPercentageV2": "10000",
  "DFIntGameNetPVHeaderLinearVelocityZeroCutoffExponent": "1",
  "DFIntTimestepArbiterConditionNumberThresholdThou": "1000",
  "DFIntSimExplicitlyCappedTimestepMultiplier": "2147483646",
  "DFIntBandwidthManagerApplicationDefaultBps": "796850000",
  "DFIntRakNetApplicationFeedbackMaxSpeedBPS": "2139999999",
  "DFIntRakNetClockDriftAdjustmentPerPingMillisecond": "10",
  "DFIntHttpBatchApiShutdownInfluxHundrethsPercentage": "0",
  "DFIntTimestepArbiterAccelerationModelFactorThou": "1000",
  "DFIntGraphicsOptimizationModeMaxFrameTimeTargetMs": "7",
  "DFIntGraphicsOptimizationModeMinFrameTimeTargetMs": "6",
  "DFIntGraphicsOptimizationModeFRMFrameRateTarget": "165",
  "DFIntMacWebViewTelemetryThrottleHundredthsPercent": "0",
  "DFIntPerformanceControlTextureQualityBestUtility": "-1",
  "DFIntGameNetPVHeaderTranslationZeroCutoffExponent": "1",
  "DFIntHttpBatchApiRejectedUrlHundredthsPercentage": "0",
  "DFIntBandwidthManagerDataSenderMaxWorkCatchupMs": "5",
  "DFIntMaxReceiveToDeserializeLatencyMilliseconds": "0",
  "DFIntMegaReplicatorNetworkQualityProcessorUnit": "10",
  "DFIntTimestepArbiterHumanoidTurningVelThreshold": "1",
  "DFIntTimestepArbiterCharacteristicLengthThou": "1000",
  "DFIntRakNetSelectUnblockSocketWriteDurationMs": "10",
  "DFIntTimestepArbiterHumanoidLinearVelThreshold": "1",
  "DFIntLightstepHTTPTransportHundredthsPercent2": "0",
  "DFIntHACDPointSampleDistApartTenths": "2147483647",
  "DFIntClientPacketUnhealthyContEscMsPerSecond": "0",
  "DFIntSimCSG3DCDRecomputeTotalWaitMiliSec": "10000",
  "DFIntParallelAdaptiveInterpolationBatchCount": "2",
  "DFIntMaxWaitTimeBeforeForcePacketProcessMS": "0",
  "DFIntAnimationLodFacsVisibilityDenominator": "0",
  "DFIntClientPacketMaxFrameMicroseconds": "100000",
  "DFIntClientPacketHealthyAllocationPercent": "80",
  "DFIntCSGLevelOfDetailSwitchingDistanceL34": "0",
  "DFIntDebugSimPrimalPreconditionerMinExp": "100",
  "DFIntRakNetBandwidthPingSendEveryXSeconds": "1",
  "DFIntMaxProcessPacketsStepsAccumulated": "1000",
  "DFIntRaknetBandwidthPingSendEveryXSeconds": "1",
  "DFIntTimestepArbiterCollidingHumanoidTsm": "25",
  "DFIntSimDefaultHumanoidTimestepMultiplier": "8",
  "DFIntMaxProcessPacketsStepsPerCyclic": "50000",
  "DFIntInterpolationNumMechanismsPerTask": "100",
  "DFIntClientPacketHealthyMsPerSecondLimit": "0",
  "DFIntSimTimestepMultiplierDebounceCount": "-5",
  "DFIntDebugSimPrimalWarmstartVelocity": "-150",
  "DFIntHttpBatchApi_MaxBatchesSentPerCyle": "5",
  "DFIntTimestepArbiterThresholdCFLThou": "1000",
  "DFIntSignalRCoreKeepAlivePingPeriodMs": "25",
  "DFIntPhysicsSenderMaxBandwidthBps": "100000",
  "DFIntHttpBatchApi_bgRefreshMaxDelayMs": "30",
  "DFIntSignalRCoreRpcQueueSize": "2147483647",
  "DFIntSignalRCoreHandshakeTimeoutMs": "3000",
  "DFIntMaxAverageFrameDelayExceedFactor": "2",
  "DFIntWaitOnUpdateNetworkLoopEndedMS": "100",
  "DFIntPhysicsDecompForceUpgradeVersion": "1",
  "DFIntAnalyticsServiceMonitoringPeriod": "0",
  "DFIntRakNetPingFrequencyMillisecond": "10",
  "DFIntDebugSimPrimalWarmstartForce": "-775",
  "DFIntRakNetNakResendDelayRttPercent": "20",
  "DFIntNumAssetsMaxToPreload": "2147483647",
  "DFIntSignalRCoreServerTimeoutMs": "20000",
  "DFIntDebugSimPrimalPreconditioner": "100",
  "DFIntRakNetResendBufferArrayLength": "64",
  "DFIntNumFramesAllowedToBeAboveError": "1",
  "DFIntLargePacketQueueSizeCutoffMB": "512",
  "DFIntPerformanceControlFrameTimeMax": "2",
  "DFIntMaxProcessPacketsJobScaling": "2000",
  "DFIntSimCSG3DCDMaxNumConvexHulls": "1000",
  "DFIntClientPacketExcessMicroseconds": "0",
  "DFIntSignalRCoreHubMaxBackoffMs": "5000",
  "DFIntVoiceChatRollOffMaxDistance": "999",
  "DFIntInterpolationMinAssemblyCount": "2",
  "DFIntPlayerNetworkUpdateQueueSize": "20",
  "DFIntNetworkInterpolationBuffer": "250",
  "DFIntMinTimeBetweenClickActionsMs": "0",
  "DFIntInputActionProcessingDelayMs": "0",
  "DFIntMinimumNumberMechanismsForMT": "1",
  "DFIntInterpolationDtLimitForLod": "0.5",
  "DFIntTargetTimeDelayFacctorTenths": "0",
  "DFIntDebugFRMQualityLevelOverride": "1",
  "DFIntAnimationLodFacsDistanceMin": "0",
  "DFIntAnimationLodFacsDistanceMax": "0",
  "DFIntVoiceChatRollOffMinDistance": "1",
  "DFIntClientPacketMinMicroseconds": "0",
  "DFIntRuntimeConcurrency": "2139999999",
  "DFIntWaitOnRecvFromLoopEndedMS": "100",
  "DFIntTimestepArbiterOmegaThou": "1000",
  "DFIntSignalRCoreHubBaseRetryMs": "10",
  "DFIntDebugSimPrimalLineSearch": "100",
  "DFIntDebugSimPrimalToleranceInv": "1",
  "DFIntRakNetNakResendDelayMsMax": "75",
  "DFIntPredictionLagCompensation": "10",
  "DFIntMinimalNetworkPrediction": "0.1",
  "DFIntRakNetResendRttMultiple": "0.5",
  "DFIntActionStationDebounceTime": "5",
  "DFIntCodecMaxOutgoingFrames": "2000",
  "DFIntAccelerationTimeThreshold": "0",
  "DFIntNewRunningBaseAltitudeD": "195",
  "DFIntMaxAcceptableUpdateDelay": "10",
  "DFIntRenderClampRoughnessMax": "225",
  "DFIntHttpBatchApi_cacheDelayMs": "5",
  "DFIntCurvePhysicsUpdateRate": "200",
  "DFIntParryWindowExtensionMs": "150",
  "DFIntAssetPreloading": "2147483647",
  "DFIntTaskSchedulerTargetFps": "2000",
  "DFIntCanHideGuiGroupId": "32380007",
  "DFIntServerPhysicsUpdateRate": "30",
  "DFIntMaxDataOutJobScaling": "10000",
  "DFIntPlayerNetworkUpdateRate": "60",
  "DFIntCodecMaxIncomingPackets": "60",
  "DFIntRuntimeTickrate": "2147483647",
  "DFIntDebugSimPrimalNewtonIts": "3",
  "DFIntPhysicsSolverIterations": "2",
  "DFIntMaxPhysicsStepsPerFrame": "1",
  "DFIntDebugRestrictGCDistance": "1",
  "DFIntNetworkLatencyTolerance": "5",
  "DFIntRunningBaseOrientationP": "1",
  "DFIntHttpAnalyticsMaxHistory": "0",
  "DFIntHttpBatchApi_bgDelayMs": "10",
  "DFIntRakNetNakResendDelayMs": "0",
  "DFIntSlutterBallSmoothness": "50",
  "DFIntBallCollisionTolerance": "5",
  "DFIntBallHitboxDesyncFactor": "3",
  "DFIntClientRecvFromRaknet": "255",
  "DFIntClientPacketMaxDelayMs": "0",
  "DFIntTextureQualityOverride": "2",
  "DFIntHttpBatchApi_maxWaitMs": "5",
  "DFIntHttpBatchApi_maxReqs": "128",
  "DFIntHttpBatchApi_minWaitMs": "1",
  "DFIntCurvePhysicsPrecision": "4",
  "DFIntLagBallCompensation": "100",
  "DFIntSlutterBallPrecision": "16",
  "DFIntTargetTimeDelayFactor": "0",
  "DFIntOptimizePingThreshold": "1",
  "DFIntConnectionMTUSize": "1400",
  "DFIntS2PhysicsSenderRate": "30",
  "DFIntVoiceChatRollOffMode": "2",
  "DFIntParryCooldownTimeMs": "0",
  "DFIntNetworkPrediction": "240",
  "DFIntMaxFrameBufferSize": "4",
  "DFIntMaxThrottleCount": "2",
  "DFIntMaxFrameBuffers": "1",
  "DFIntLagBallSyncRate": "1",
  "DFIntMaxFramesToSend": "1",
  "DFIntServerTickRate": "60",
  "DFIntHttpBatchLimit": "64",
  "DFIntGraphicsLevel": "1",
  "DFIntRakNetLoopMs": "0",
  "DFIntNetworkDelay": "1",
  "DFIntlagBallCurveStrength": "10",
  "DFStringCrashUploadToBacktraceWindowsPlayerToken": "null",
  "DFStringWebviewUrlAllowlist": "www.youtube-nocookie.com",
  "DFStringCrachUploadToBacktraceMacPlayerToken": "null",
  "DFStringCrashUploadToBacktraceMacPlayerToken": "null",
  "DFStringLightstepHTTPTransportUrlHost": "null",
  "DFStringLightstepHTTPTransportUrlPath": "null",
  "DFStringCrashUploadToBacktraceBaseUrl": "null",
  "DFStringAltTelegrafHTTPTransportUrl": "null",
  "DFStringAltHttpPointsReporterUrl": "null",
  "DFStringTelegrafHTTPTransportUrl": "null",
  "DFStringHttpPointsReporterUrl": "null",
  "DFStringRobloxAnalyticsURL": "null",
  "DFStringTelemetryV2Url": "0.0.0.0",
  "DFStringLightstepToken": "null",
  "DisableTextureStreaming": "true",
  "FFlagVoiceChatRobloxAudioDeviceUpdateRecordedBufferTelemetryEnabled": "False",
  "FFlagVoiceChatCustomAudioDeviceEnableNeedMorePlayoutTelemetry3": "False",
  "FFlagVoiceChatCustomAudioDeviceEnableNeedMorePlayoutTelemetry": "False",
  "FFlagFixStrangerThingsIssueUsingAdditionalInvalidationSignal": "True",
  "FFlagVoiceChatCustomAudioMixerEnableUpdateSourcesTelemetry2": "False",
  "FFlagVoiceChatDontSendTelemetryForPubIceTrickle": "False",
  "FFlagFixFirstPersonMouseCursorSnapping_CenterPos": "True",
  "FFlagUIPageLayoutCurrentPageLayoutOrderChangeFix": "True",
  "FFlagFixTextureCompositorFramebufferManagement2": "True",
  "FFlagFixTextboxSinkingInputOfOverlappingButtons": "True",
  "FFlagPerformanceControlAverageTunableQualityFix": "True",
  "FFlagVoiceChatCullingEnableMutedSubsTelemetry": "False",
  "FFlagVoiceChatCullingEnableStaleSubsTelemetry": "False",
  "FFlagLocServiceUseNewAutoLocSettingEndpointFix": "True",
  "FFlagCLI_148857_GenerationServiceTestingFixes": "True",
  "FFlagVoiceChatPeerConnectionTelemetryDetails": "False",
  "FFlagVoiceChatSubscriptionsDroppedTelemetry": "False",
  "FFlagUserHideCharacterParticlesInFirstPerson": "True",
  "FFlagUpdateHTTPCookieStorageFromWKWebView": "False",
  "FFlagGamepadEmulatorIsGamepadKeyPressedFix": "True",
  "FFlagFixPersistentConstantBufferInstancing": "True",
  "FFlagContentProviderPreloadHangTelemetry": "False",
  "FFlagVoxelGridFixGetNonEmptyRegionsInside": "True",
  "FFlagEnablePhysicsAdaptiveTimeSteppingIXP": "true",
  "FFlagChatTranslationEnableSystemMessage": "False",
  "FFlagPropertiesWidgetFixShortcutHandling": "True",
  "FFlagEnableWindowsFixPermissionsProtocol": "True",
  "FFlagFixIntervalStatStartSamplingThisUse": "True",
  "FFlagVideoServiceAddHardwareCodecMetrics": "True",
  "FFlagTextureGeneratorPreviewAnimationFix": "True",
  "FFlagRenderFixParticleDegenCrossProduct": "True",
  "FFlagModifiedPropertiesFixEventOrdering": "True",
  "FFlagPerformanceControlFixTelemetryName": "True",
  "FFlagFixSurfaceGuisBreakingAfterRespawn": "True",
  "FFlagTouchInputServiceFixesPanLongpress": "True",
  "FFlagLuaVoiceChatAnalyticsUseCounterV2": "False",
  "FFlagRenderLegacyShadowsQualityRefactor": "True",
  "FFlagTaskSchedulerLimitTargetFpsTo2402": "False",
  "FFlagHandleAltEnterFullscreenManually": "False",
  "FFlagNewAutoSaveDialogFixDefaultAction": "True",
  "FFlagFixCountOfUnreadNotificationError": "True",
  "FFlagFixGLResourceFreeOnDeviceShutdown": "True",
  "FFlagLuaVoiceChatAnalyticsUseEventsV2": "False",
  "FFlagLuaVoiceChatAnalyticsUsePointsV2": "False",
  "FFlagUserFixOverlappingRtlChatMessages": "True",
  "FFlagLuaAppLegacyInputSettingRefactor": "True",
  "FFlagLuaVoiceChatAnalyticsBanMessage": "False",
  "FFlagVideoReportHardwareBufferMetrics": "True",
  "FFlagFixNullPtrCrashInLoadImageBuffer": "True",
  "FFlagFixRedundantAllocationInAnimator": "True",
  "FFlagDebugEnableDirectAudioOcclusion2": "True",
  "FFlagEnableBubbleChatFromChatService": "False",
  "FFlagEnableInGameMenuDurationLogger": "False",
  "FFlagFixSmoothingDegenerateTriangles": "True",
  "FFlagSimAdaptiveTimesteppingDefault2": "True",
  "FFlagEnablePerformanceControlService": "True",
  "FFlagFixIntervalStatsSynchronization": "True",
  "FFlagUIListLayoutFixFlexCrossPadding": "True",
  "FFlagDisableFeedbackSoothsayerCheck": "False",
  "FFlagFixSoundTunableMemoryCurveSlope": "True",
  "FFlagImmHandlerFixJapaneseAndKorean3": "True",
  "FFlagBetaBadgeLearnMoreLinkFormview": "False",
  "FFlagEnableMenuModernizationABTest2": "False",
  "FFlagChatTranslationSettingEnabled3": "False",
  "FFlagUserSoundsUseRelativeVelocity2": "True",
  "FFlagEnableAndroidAssetReaderOTAFix": "True",
  "FFlagEnableLuaVoiceChatAnalyticsV2": "False",
  "FFlagAssetConfigFixBadIdVerifyState": "True",
  "FFlagFixOutdatedTimeScaleParticles": "False",
  "FFlagDebugRenderingSetDeterministic": "True",
  "FFlagEnableInGameMenuChromeABTest3": "False",
  "FFlagEnableMenuModernizationABTest": "False",
  "FFlagDebugDisableOTAMaterialTexture": "True",
  "FFlagDebugForceFutureIsBrightPhase2": "True",
  "FFlagGcInParallelWithRenderPrepare3": "true",
  "FFlagSimCSG3NewAPIFixColorAndScale": "True",
  "FFlagRobloxTelemetryFixHostNameKey": "True",
  "FFlagEditableImageProjectionOOBFix": "True",
  "FFlagEnableInGameMenuChromeABTest4": "True",
  "FFlagFixWrongTextBoundsInBillboard": "True",
  "FFlagFixGuiInputForDeferredSignals": "True",
  "FFlagGraphicsGLFixGL3FeatureChecks": "True",
  "FFlagRenderDynamicResolutionScale7": "True",
  "FFlagFixParticleAttachmentCulling": "False",
  "FFlagEnableInGameMenuModernization": "True",
  "FFlagGraphicsGLWindowsShutdownFix": "True",
  "FFlagRenderMobileNeonHighlightFix": "True",
  "FFlagDebugForceFSMCPULightCulling": "True",
  "FFlagToolboxFixMarketplacePublish": "True",
  "FFlagFixGetHumanoidForAccessories": "True",
  "FFlagVoxelGridFixStreamingRegions": "True",
  "FFlagDebugGraphicsPreferD3D11FL10": "True",
  "FFlagDebugSimDefaultPrimalSolver": "True",
  "FFlagSyncWebViewCookieToEngine2": "False",
  "FFlagCommitToGraphicsQualityFix": "False",
  "FFlagSHUseNewComputeLevelUsesOBB": "true",
  "FFlagEmitterTextureDimensionFix": "True",
  "FFlagMessageBusCallOptimization": "True",
  "FFlagImproveShiftLockTransition": "True",
  "FFlagPreloadTextureItemsOption4": "True",
  "FFlagGraphicsFixBaseInstancePVR": "True",
  "FFlagVideoFixEncryptedAlignment": "True",
  "FFlagFixCalloutResizeOgreWidget": "True",
  "FFlagEnableAudioPannerFiltering": "True",
  "FFlagTextureGeneratorHighLODFix": "True",
  "FFlagRenderDebugCheckThreading2": "True",
  "FFlagGraphicsEnableD3D10Compute": "True",
  "FFlagPropertiesEnableTelemetry": "False",
  "FFlagAnalyticsServiceForClient": "false",
  "FFlagFixParticleEmissionBias2": "False",
  "FFlagFixTextMismatchAndOverlap": "True",
  "FFlagControlBetaBadgeWithGuac": "False",
  "FFlagNavigationFixNewHeuristic": "True",
  "FFlagRenderModelMeshVLayoutFix": "True",
  "FFlagGraphicsFixMsaaInGuiScene": "True",
  "FFlagDebugCheckRenderThreading": "True",
  "FFlagDebugGraphicsDisableMetal": "true",
  "FFlagEnableMenuControlsABTest": "False",
  "FFlagDebugGraphicsPreferVulkan": "true",
  "FFlagHighlightOutlinesOnMobile": "True",
  "FFlagVideoFixSoundVolumeRange": "true",
  "FFlagMouseGetPartOptimization": "True",
  "FFlagQuaternionPoseCorrection": "True",
  "FFlagDebugGraphicsPreferD3D11": "True",
  "FFlagOptimizeNetworkTransport": "True",
  "FFlagEnableInGameMenuControls": "True",
  "FFlagNetworkSendRateThrottle": "False",
  "FFlagEnableTelemetryProtocol": "False",
  "FFlagEnableTelemetryService1": "False",
  "FFlagLargeReplicatorEnabled6": "True",
  "FFlagFixFlipbookLayoutStatus": "True",
  "FFlagTerrainFixDoubleMeshing": "True",
  "FFlagWrappedGridFixCLI148409": "True",
  "FFlagFixUIGradientFlickering": "True",
  "FFlagEnableNudgeAnalyticsV2": "false",
  "FFlagFixLogAsDFIntLightGrid": "True",
  "FFlagUserShowGuiHideToggles": "True",
  "FFlagFixSpecialFileMeshToIc": "True",
  "FFlagVideoCaptureFixRestart": "True",
  "FFlagFixRapidSoundStopStart": "True",
  "FFlagOptimizeServerTickRate": "True",
  "FFlagFixOutdatedParticles2": "False",
  "FFlagOptimizeNetworkRouting": "True",
  "FFlagEnableChromePinnedChat": "True",
  "FFlagEnableInGameMenuChrome": "True",
  "FFlagPhysicsThrottleAdjust": "False",
  "FFlagEnableChromeAnalytics": "false",
  "FFlagDebugForceGenerateHSR": "True",
  "FFlagEnableFPSAndFrameTime": "True",
  "FFlagLargeReplicatorWrite4": "True",
  "FFlagFixDspResetVolumeRamp": "True",
  "FFlagFixBTIDStateTelemetry": "True",
  "FFlagAnimationTrackStepFix": "True",
  "FFlagAlwaysShowVRToggleV3": "False",
  "FFlagOpenTelemetryEnabled": "False",
  "FFlagLargeReplicatorRead4": "True",
  "FFlagTerrainFixWaterLevel": "True",
  "FFlagFastGPULightCulling3": "True",
  "FFlagRenderNoLowFrmBloom": "False",
  "FFlagEnableV3MenuABTest3": "False",
  "FFlagReduceRenderDistance": "True",
  "FFlagSHUseNewComputeLevel": "true",
  "FFlagSortKeyOptimization": "True",
  "FFlagFixTestServiceStart": "True",
  "FFlagNewLightAttenuation": "True",
  "FFlagFixGraphicsQuality": "False",
  "FFlagFixMeshLoadingHang": "True",
  "FFlagAssetPreloadingIXP": "True",
  "FFlagFasterPreciseTime4": "True",
  "FFlagFixDiffToolSpacing": "True",
  "FFlagDisableNewIGMinDUA": "True",
  "FFlagOptimizeAnimations": "True",
  "FFlagAddHapticsToggle": "False",
  "FFlagAdServiceEnabled": "False",
  "FFlagFastLoadingAssets": "True",
  "FFlagD3D11SupportBGRA": "True",
  "FFlagHideCoreGuiFixes": "True",
  "FFlagFixFileMenuFiles": "True",
  "FFlagFCFixPartIndices": "True",
  "FFlagLuaAppSystemBar": "False",
  "FFlagDebugSSAOForce": "False",
  "FFlagVoiceBetaBadge": "False",
  "FFlagMovePrerenderV2": "True",
  "FFlagOptimizeNetwork": "True",
  "FFlagPreloadAllFonts": "True",
  "FFlagSimEnableDCD16": "True",
  "FFlagDebugPerfMode": "False",
  "FFlagMovePrerender": "True",
  "FFlagGImageJpegFix": "True",
  "FFlagDisablePostFx": "True",
  "FFlagDebugSkyBlack": "True",
  "FFlagFRMRefactor": "False",
  "FFlagFixBTIDState": "True",
  "FFlagFixCLI125315": "True",
  "FFlagDebugSkyGray": "True",
  "FFlagMSRefactor5": "False",
  "FFlagFixSBT4425": "True",
  "FIntMockClientLightingTechnologyIxpExperimentQualityLevel": "7",
  "FIntVoiceChatPerfSensitiveTelemetryIntervalSeconds": "-1",
  "FIntMaxTimestepMultiplierIntegrationError": "2147483647",
  "FIntMockClientLightingTechnologyIxpExperimentMode": "0",
  "FIntFullscreenTitleBarTriggerDelayMillis": "3600000",
  "FIntInterpolationAwareTargetTimeLerpHundredth": "80",
  "FIntMaxTimestepMultiplierAcceleration": "2147483647",
  "FIntMaxTimestepMultiplierContstraint": "2147483647",
  "FIntStudioWebView2TelemetryHundredthsPercent": "0",
  "FIntRenderMaxShadowAtlasUsageBeforeDownscale": "0",
  "FIntMaxTimestepMultiplierBuoyancy": "2147483647",
  "FIntMaxTimestepMultiplierHumanoid": "2147483647",
  "FIntMaxTimestepMultiplierVelocity": "2147483647",
  "FIntRakNetDatagramMessageIdArrayLength": "8192",
  "FIntPGSAngularDampingPermillPersecond": "1500",
  "FIntLuaVoiceChatAnalyticsPointsThrottle": "0",
  "FIntSmoothMouseSpringFrequencyTenths": "100",
  "FIntRomarkStartWithGraphicQualityLevel": "6",
  "FIntMaquettesFrameRateBufferPercentage": "1",
  "FIntTaskSchedulerMaxNumOfJobs": "2139999999",
  "FIntLuaAnalyticsReleasePeriod": "2147483647",
  "FIntSimSolverResponsiveness": "2147483647",
  "FIntDirectionalAttenuationMaxPoints": "0",
  "FIntRakNetResendBufferArrayLength": "128",
  "FIntRenderMeshOptimizeVertexBuffer": "1",
  "FIntActivatedCountTimerMSKeyboard": "0",
  "FIntVertexSmoothingGroupTolerance": "0",
  "FIntRuntimeMaxNumOfSchedulers": "20000",
  "FIntRuntimeMaxNumOfConditions": "20000",
  "FIntSimCSG3DCDRecomputeStrategy": "1",
  "FIntNumFramesToCaptureCallStack": "0",
  "FIntActivatedCountTimerMSMouse": "0",
  "FIntRuntimeMaxNumOfThreads": "20000",
  "FIntRuntimeMaxNumOfLatches": "20000",
  "FIntRuntimeMaxNumOfMutexes": "20000",
  "FIntInterpolationMaxDelayMSec": "0",
  "FIntRenderLocalLightFadeInMs": "0",
  "FIntUnifiedLightingBlendZone": "0",
  "FIntScrollWheelDeltaAmount": "300",
  "FIntRenderGrassDetailStrands": "0",
  "FIntUITextureMaxUpdateDepth": "1",
  "FIntRenderGrassHeightScaler": "0",
  "FIntRobloxGuiBlurIntensity": "0",
  "FIntRenderShadowIntensity": "0",
  "FIntTerrainArraySliceSize": "0",
  "FIntRenderShafowIntensity": "1",
  "FIntFRMMinGrassDistance": "0",
  "FIntFRMMaxGrassDistance": "0",
  "FIntRuntimeTickrate": "60",
  "FIntSSAOMipLevels": "0",
  "FIntCLI20390_2": "0",
  "FIntCLI20390": "0",
  "FLogTencentAuthPath": "/tencent/",
  "FLogRobloxTelemetry": "0",
  "FLogNetwork": "7",
  "FPSCap": "300",
  "FStringPartTexturePackTable2022": "{\u0022foil\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[238,238,238,255]},\u0022asphalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[227,227,228,234]},\u0022basalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[160,160,158,238]},\u0022brick\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[229,214,205,227]},\u0022cobblestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,219,219,243]},\u0022concrete\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[225,225,224,255]},\u0022crackedlava\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[76,79,81,156]},\u0022diamondplate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[210,210,210,255]},\u0022fabric\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[221,221,221,255]},\u0022glacier\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[225,229,229,243]},\u0022glass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://9873284556\u0022,\u0022rbxassetid://9438453972\u0022],\u0022color\u0022:[254,254,254,7]},\u0022granite\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[210,206,200,255]},\u0022grass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[196,196,189,241]},\u0022ground\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[165,165,160,240]},\u0022ice\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[235,239,241,248]},\u0022leafygrass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[182,178,175,234]},\u0022limestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[250,248,243,250]},\u0022marble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[181,183,193,249]},\u0022metal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[226,226,226,255]},\u0022mud\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[193,192,193,252]},\u0022pavement\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,218,219,236]},\u0022pebble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[204,203,201,234]},\u0022plastic\u0022:{\u0022ids\u0022:[\u0022\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[255,255,255,255]},\u0022rock\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[211,211,210,248]},\u0022corrodedmetal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[206,177,163,180]},\u0022salt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[249,249,249,255]},\u0022sand\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,216,210,240]},\u0022sandstone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[241,234,230,246]},\u0022slate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[235,234,235,254]},\u0022snow\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[239,240,240,255]},\u0022wood\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[217,209,208,255]},\u0022woodplanks\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[207,208,206,254]}}",
  "FStringPartTexturePackTablePre2022": "{\u0022foil\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[255,255,255,255]},\u0022brick\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[204,201,200,232]},\u0022cobblestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[212,200,187,250]},\u0022concrete\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[208,208,208,255]},\u0022diamondplate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[170,170,170,255]},\u0022fabric\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[105,104,102,244]},\u0022glass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://7547304948\u0022,\u0022rbxassetid://7546645118\u0022],\u0022color\u0022:[254,254,254,7]},\u0022granite\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[113,113,113,255]},\u0022grass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[165,165,159,255]},\u0022ice\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[255,255,255,255]},\u0022marble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[199,199,199,255]},\u0022metal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[199,199,199,255]},\u0022pebble\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[208,208,208,255]},\u0022corrodedmetal\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[159,119,95,200]},\u0022sand\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[220,220,220,255]},\u0022slate\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[193,193,193,255]},\u0022wood\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[227,227,227,255]},\u0022woodplanks\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[212,209,203,255]},\u0022asphalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[123,123,123,234]},\u0022basalt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[154,154,153,238]},\u0022crackedlava\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[74,78,80,156]},\u0022glacier\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[226,229,229,243]},\u0022ground\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[114,114,112,240]},\u0022leafygrass\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[121,117,113,234]},\u0022limestone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[235,234,230,250]},\u0022mud\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[130,130,130,252]},\u0022pavement\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[142,142,144,236]},\u0022rock\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[154,154,154,248]},\u0022salt\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[220,220,221,255]},\u0022sandstone\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[174,171,169,246]},\u0022snow\u0022:{\u0022ids\u0022:[\u0022rbxassetid://0\u0022,\u0022rbxassetid://0\u0022],\u0022color\u0022:[218,218,218,255]}}",	
  "FStringPhysicsAdaptiveTimeSteppingIXP": "Physics.DefaultTimeStepping",
  "FStringExperienceGuidelinesExplainedPageUrl": "https://www.gov.cn",
  "FStringXboxExperienceGuidelinesUrl": "https://www.gov.cn",
  "FStringGoogleAnalyticsAccountPropertyLuaTest": "null",
  "FStringCoreScriptBacktraceErrorUploadToken": "null",
  "FStringRbxAnalyticsSessionsAllowlist": "null",
  "FStringVoiceBetaBadgeLearnMoreLink": "null",
  "FStringTerrainMaterialTablePre2022": "",
  "FStringAnalyticsSessionIdName": "null",
  "FStringTerrainMaterialTable2022": "",
  "FStringTencentAuthPath": "/tencent/",
  "FStringGamesUrlPath": "/games/",
  "GraphicsQuality": "1",
  "LightingEnabled": "false",
  "LowLatencyPhysics": "true",
  "LowMemoryMode": "true",
  "MaxParticleCount": "0",
  "MeshStreaming": "false",
  "NetworkReceiveRate": "750",
  "NetworkSendRate": "750",
  "ParryWindowTime": "0.3",
  "ParryHitboxSize": "10",
  "PhysicsParallelExecution": "1",
  "PhysicsFPS": "300",
  "PredictionLagCompensation": "2",
  "RenderThrottle": "1",
  "ShadowMapQuality": "1",
  "StreamingEnabled": "false",
  "SunRays": "false",
  "DFFlagTextureQualityOverrideEnabled": "True",
  "DFIntTextureQualityOverride": "2",
  "DFIntDebugFRMQualityLevelOverride": "2",
  "FFlagCoreGuiTypeSelfViewPresent": "False",
  "FFlagInGameMenuV1FullScreenTitleBar": "False",
  "FIntFullscreenTitleBarTriggerDelayMillis": "3600000",
  "DFIntCSGLevelOfDetailSwitchingDistance": "250",
  "DFIntCSGLevelOfDetailSwitchingDistanceL12": "500",
  "DFIntCSGLevelOfDetailSwitchingDistanceL23": "750",
  "DFIntCSGLevelOfDetailSwitchingDistanceL34": "1000",

}
Blockchain technology delivers unmatched transparency, security, and efficiency through its decentralized structure. It ensures data integrity, eliminates intermediaries, and builds trust across digital networks. Block Intelligence, a professional blockchain development company, leverages these core features to create powerful and scalable blockchain solutions. From smart contracts and dApps to NFT platforms and DeFi systems, we design innovative applications that drive real business impact. Our expert developers blend technical excellence with strategic insight to help businesses adopt the future of digital transformation. Choose Block Intelligence to unlock the full potential of blockchain technology for your organization.

Know more >>> https://www.blockintelligence.io/Blockchain-Development

What’s app:+91 77384 79381

Mail to : connect@blockchain.ai.in
6. Si prefieres editar manualmente:
Abre el archivo .env y agrega estas líneas al INICIO del archivo:

env
APP_NAME="Laravel Chat"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://127.0.0.1:8000
APP_KEY=
Luego ejecuta:

bash
php artisan key:generate
7. Probar la aplicación
bash
php artisan serve
[DataContractAttribute]
class NW_WHTContract implements SysOperationValidatable
{
    FromDate    fromDate;
    ToDate      toDate; 


    [DataMemberAttribute('FromDate')]
    public FromDate parmFromDate(FromDate _formDate = fromDate)
    {
        fromDate = _formDate;
        return fromDate;
    }

    [DataMemberAttribute('ToDate')]
    public ToDate parmToDate(ToDate _toDate = toDate)
    {
        toDate = _toDate;
        return toDate;
    }

    public boolean validate()
    {
        boolean isValid = true;
        if(this.fromDate && this.toDate && (this.fromDate > this.toDate))
        {
            Error('@SYS91020');
            isValid=false;
        }
        return isValid;
    }

}
public boolean isPalindrome(String s) {
    if (s == null) return false;

    s = s.toLowerCase().replaceAll("[^a-z0-9]", "")

    int left = 0;
    int right = s.length() - 1;

    while (left < right) {
        if (s.charAt(left) != s.charAt(right)) {
            return false;
        }
        left++;
        right--;
    }

    return true;
}
import 'package:flutter/material.dart';
import 'package:task_manager_app/screens/task.dart';


Future<Task02?> showTaskDialog({
  required BuildContext context,
  Task02? existingTask,
}) async {
  final TextEditingController titleController =
      TextEditingController(text: existingTask?.title ?? '');
  final TextEditingController descController =
      TextEditingController(text: existingTask?.description ?? '');

  return showDialog<Task02>(
    context: context,
    builder: (context) {
      return AlertDialog(
        title: Text(existingTask == null ? "افزودن وظیفه جدید" : "ویرایش وظیفه"),
        content: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            TextField(
              controller: titleController,
              decoration: const InputDecoration(
                border: OutlineInputBorder(),
                labelText: 'عنوان',
              ),
            ),
            const SizedBox(height: 12),
            TextField(
              controller: descController,
              maxLines: 3,
              decoration: const InputDecoration(
                border: OutlineInputBorder(),
                labelText: 'جزئیات',
              ),
            ),
          ],
        ),
        actions: [
          TextButton(
            onPressed: () => Navigator.pop(context),
            child: const Text("انصراف"),
          ),
          ElevatedButton(
            onPressed: () {
              if (titleController.text.trim().isEmpty) {
                ScaffoldMessenger.of(context).showSnackBar(
                  const SnackBar(content: Text("عنوان نمی‌تواند خالی باشد 🚫")),
                );
                return;
              }

              final task = Task02(
                title: titleController.text.trim(),
                description: descController.text.trim(),
                isDone: existingTask?.isDone ?? false,
              );

              Navigator.pop(context, task);
            },
            child: const Text("ذخیره"),
          ),
        ],
      );
    },
  );
}
// import 'package:flutter/material.dart';
// import 'package:task_manager_app/base/dialogs.dart';
// import 'task.dart';

// class TaskDetailPage extends StatefulWidget {
//   final Task02 task;

//   const TaskDetailPage({super.key, required this.task});

//   @override
//   State<TaskDetailPage> createState() => _TaskDetailPageState();
// }

// class _TaskDetailPageState extends State<TaskDetailPage> {

//   // تابع برای ویرایش وظیفه
//   void _editTask() async {
//     final updatedTask = await showTaskDialog(
//       context: context,
//       existingTask: widget.task,
//     );

//     if (updatedTask != null) {
//       setState(() {
//         widget.task.title = updatedTask.title;
//         widget.task.description = updatedTask.description;
//       });
//       ScaffoldMessenger.of(context).showSnackBar(
//         const SnackBar(content: Text("وظیفه با موفقیت ویرایش شد ✅")),
//       );
//     }
//   }

//   void _deleteTask() {
//     showDialog(
//       context: context,
//       builder: (context) {
//         return AlertDialog(
//           title: const Text("حذف وظیفه"),
//           content: const Text("آیا مطمئن هستید که می‌خواهید این وظیفه را حذف کنید؟"),
//           actions: [
//             TextButton(
//               onPressed: () => Navigator.pop(context),
//               child: const Text("خیر"),
//             ),
//             ElevatedButton(
//               style: ElevatedButton.styleFrom(
//                 backgroundColor: Colors.redAccent,
//               ),
//               onPressed: () {
//                 Navigator.pop(context);
//                 Navigator.pop(context, "delete");
//               },
//               child: const Text("بله، حذف کن"),
//             ),
//           ],
//         );
//       },
//     );
//   }

//   @override
//   Widget build(BuildContext context) {
//     return Scaffold(
//       appBar: AppBar(
//         title: Text(widget.task.title),
//         backgroundColor: Colors.blueAccent,
//         actions: [
//           IconButton(
//             icon: const Icon(Icons.edit),
//             onPressed: _editTask,
//             tooltip: "ویرایش وظیفه",
//           ),
//           IconButton(
//             icon: const Icon(Icons.delete),
//             onPressed: _deleteTask,
//             tooltip: "حذف وظیفه",
//           ),
//         ],
//       ),
//       body: Padding(
//         padding: const EdgeInsets.all(16),
//         child: Column(
//           crossAxisAlignment: CrossAxisAlignment.start,
//           children: [
//             Text(
//               "عنوان: ${widget.task.title}",
//               style: const TextStyle(fontSize: 22, fontWeight: FontWeight.bold),
//             ),
//             const SizedBox(height: 12),
//             Text(
//               "جزئیات: ${widget.task.description}",
//               style: const TextStyle(fontSize: 18),
//             ),
//             const SizedBox(height: 12),
//             Row(
//               children: [
//                 const Text("وضعیت: ", style: TextStyle(fontSize: 18)),
//                 Checkbox(
//                   value: widget.task.isDone,
//                   onChanged: (value) {
//                     setState(() {
//                       widget.task.isDone = value!;
//                     });
//                     ScaffoldMessenger.of(context).showSnackBar(
//                       SnackBar(
//                         content: Text(value!
//                             ? "این وظیفه انجام شد 🎯"
//                             : "وظیفه هنوز کامل نشده 😅"),
//                         duration: const Duration(seconds: 1),
//                       ),
//                     );
//                   },
//                 ),
//               ],
//             ),
//             const Spacer(),
//             Center(
//               child: ElevatedButton.icon(
//                 onPressed: () {
//                   Navigator.pop(context, widget.task);
//                 },
//                 icon: const Icon(Icons.arrow_back),
//                 label: const Text("بازگشت"),
//               ),
//             ),
//           ],
//         ),
//       ),
//     );
//   }
// }
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:task_manager_app/base/dialogs.dart';
import 'package:task_manager_app/base/task_model.dart';
import 'task.dart';

class TaskDetailPage extends StatelessWidget {
  final int index;

  const TaskDetailPage({super.key, required this.index});

  @override
  Widget build(BuildContext context) {
    final taskModel = Provider.of<TaskModel>(context);
    
    // چک کردن ایندکس برای جلوگیری از RangeError
    if (index >= taskModel.tasks.length) {
      return Scaffold(
        appBar: AppBar(title: const Text("خطا")),
        body: const Center(child: Text("این تسک دیگر وجود ندارد")),
      );
    }

    final task = taskModel.tasks[index];

    void _editTask() async {
      final updatedTask = await showTaskDialog(
        context: context,
        existingTask: task,
      );

      if (updatedTask != null) {
        taskModel.updateTask(index, updatedTask);
        ScaffoldMessenger.of(context).showSnackBar(
          const SnackBar(content: Text("وظیفه با موفقیت ویرایش شد ✅")),
        );
      }
    }

    void _deleteTask() {
      showDialog(
        context: context,
        builder: (context) {
          return AlertDialog(
            title: const Text("حذف وظیفه"),
            content: const Text("آیا مطمئن هستید که می‌خواهید این وظیفه را حذف کنید؟"),
            actions: [
              TextButton(
                onPressed: () => Navigator.pop(context),
                child: const Text("خیر"),
              ),
              ElevatedButton(
                style: ElevatedButton.styleFrom(backgroundColor: Colors.redAccent),
                onPressed: () {
                  taskModel.deleteTask(index);
                  Navigator.pop(context); // بستن دیالوگ
                  Navigator.pop(context); // بازگشت به صفحه اصلی
                },
                child: const Text("بله، حذف کن"),
              ),
            ],
          );
        },
      );
    }

    return Scaffold(
      appBar: AppBar(
        title: Text(task.title),
        backgroundColor: Colors.blueAccent,
        actions: [
          IconButton(
            icon: const Icon(Icons.edit),
            onPressed: _editTask,
            tooltip: "ویرایش وظیفه",
          ),
          IconButton(
            icon: const Icon(Icons.delete),
            onPressed: _deleteTask,
            tooltip: "حذف وظیفه",
          ),
        ],
      ),
      body: Padding(
        padding: const EdgeInsets.all(16),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Text("عنوان: ${task.title}", style: const TextStyle(fontSize: 22, fontWeight: FontWeight.bold)),
            const SizedBox(height: 12),
            Text("جزئیات: ${task.description}", style: const TextStyle(fontSize: 18)),
            const SizedBox(height: 12),
            Row(
              children: [
                const Text("وضعیت: ", style: TextStyle(fontSize: 18)),
                Checkbox(
                  value: task.isDone,
                  onChanged: (value) {
                    taskModel.toggleTaskDone(index, value!);
                    ScaffoldMessenger.of(context).showSnackBar(
                      SnackBar(
                        content: Text(value ? "این وظیفه انجام شد 🎯" : "وظیفه هنوز کامل نشده 😅"),
                        duration: const Duration(seconds: 1),
                      ),
                    );
                  },
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}
// import 'package:flutter/material.dart';
// import 'package:task_manager_app/base/dialogs.dart';
// import 'package:task_manager_app/base/storage_service.dart';
// import 'package:task_manager_app/screens/TaskDetailPage.dart';
// import 'task.dart';


// class TaskManager extends StatefulWidget {
//   const TaskManager({super.key});

//   @override
//   State<TaskManager> createState() => _TaskManagerState();
// }

// class _TaskManagerState extends State<TaskManager> {
//   List<Task02> _tasks = [];

//   @override
//   void initState() {
//     super.initState();
//     _loadTasks();
//   }

//   Future<void> _loadTasks() async {
//     _tasks = await StorageService.loadTasks();
//     setState(() {});
//   }

//   Future<void> _saveTasks() async {
//     await StorageService.saveTasks(_tasks);
//   }

//   @override
//   Widget build(BuildContext context) {
//     return Scaffold(
//       appBar: AppBar(
//         title: const Text("وظایف تعریف شده"),
//         backgroundColor: Colors.blueAccent,
//       ),
//       floatingActionButton: FloatingActionButton.extended(
//         onPressed: () async {
//           final newTask = await showTaskDialog(context: context);
//           if (newTask != null) {
//             setState(() => _tasks.add(newTask));
//             _saveTasks();
//           }
//         },
//         icon: const Icon(Icons.add),
//         label: const Text("وظیفه جدید"),
//         backgroundColor: Colors.blueAccent,
//       ),
//       body: ListView.builder(
//         itemCount: _tasks.length,
//         itemBuilder: (context, index) {
//           final task = _tasks[index];
//           return Card(
//             shape: RoundedRectangleBorder(
//               borderRadius: BorderRadius.circular(20),
//             ),
//             margin: const EdgeInsets.all(8),
//             child: ListTile(
//               onTap: () async {
//                 final result = await Navigator.push(
//                   context,
//                   MaterialPageRoute(
//                     builder: (context) => TaskDetailPage(task: task),
                    
//                   ),
//                 );

//                 if (result == "delete") {
//                   setState(() {
//                     _tasks.removeAt(index);
//                   });
//                 } else if (result is Task02) {
//                   setState(() {
//                     _tasks[index] = result;
//                   });
//                 }
//                 _saveTasks();
//               },
//               title: Text(
//                 task.title,
//                 style: TextStyle(
//                   fontWeight: FontWeight.bold,
//                   decoration: task.isDone ? TextDecoration.lineThrough : null,
//                 ),
//               ),
//               subtitle: Text(
//                 task.description,
//                 style: TextStyle(color: task.isDone ? Colors.grey[400] : null),
//               ),
//               trailing: Checkbox(
//                 value: task.isDone,
//                 onChanged: (value) {
//                   setState(() {
//                     task.isDone = value!;
//                   });
//                   _saveTasks();
//                 },
//               ),
//             ),
//           );
//         },
//       ),
//     );
//   }
// }
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:task_manager_app/base/dialogs.dart';
import 'package:task_manager_app/base/task_model.dart';
import 'task.dart';
import 'TaskDetailPage.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

import '../base/dialogs.dart';

class TaskManager extends StatelessWidget {
  const TaskManager({super.key});

  @override
  Widget build(BuildContext context) {
    return Consumer<TaskModel>(
      builder: (context, taskModel, child) {
        return Scaffold(
          appBar: AppBar(
            title: const Text("وظایف تعریف شده"),
            backgroundColor: Colors.blueAccent,
          ),
          floatingActionButton: FloatingActionButton.extended(
            onPressed: () async {
              final newTask = await showTaskDialog(context: context);
              if (newTask != null) taskModel.addTask(newTask);
            },
            icon: const Icon(Icons.add),
            label: const Text("وظیفه جدید"),
            backgroundColor: Colors.blueAccent,
          ),
          body: ListView.builder(
            itemCount: taskModel.tasks.length,
            itemBuilder: (context, index) {
              final task = taskModel.tasks[index];
              return Card(
                shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(20),
                ),
                margin: const EdgeInsets.all(8),
                child: ListTile(
                  onTap: () {
                    Navigator.push(
                      context,
                      MaterialPageRoute(
                        builder: (_) => TaskDetailPage(index: index),
                      ),
                    );
                  },
                  title: Text(
                    task.title,
                    style: TextStyle(
                      fontWeight: FontWeight.bold,
                      decoration: task.isDone ? TextDecoration.lineThrough : null,
                    ),
                  ),
                  subtitle: Text(
                    task.description,
                    style: TextStyle(color: task.isDone ? Colors.grey[400] : null),
                  ),
                  trailing: Checkbox(
                    value: task.isDone,
                    onChanged: (value) {
                      taskModel.toggleTaskDone(index, value!);
                    },
                  ),
                ),
              );
            },
          ),
        );
      },
    );
  }
}
# Eliminar todo
rm -rf ~/.zshrc ~/.powerlevel10k ~/.oh-my-zsh

# Instalar solo Powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.powerlevel10k

# Configuración mínima
echo 'source ~/.powerlevel10k/powerlevel10k.zsh-theme' > ~/.zshrc
echo '[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh' >> ~/.zshrc

# Ejecutar
exec zsh
p10k configure
#ejecutar uno por uno cada linea sino puede que no funcione
# Eliminar instalación previa si existe
rm -rf ~/.oh-my-zsh

# Instalar Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
public boolean isAnagram(String s, String t) {
  if (s.length() != t.length()) {
    return false;
  }
  
  int[] count = new int[26];
  
  for (int i = 0; i < s.length(); i++) {
    count[s.charAt(i) - 'a']++;
    count[t.charAt(i) - 'a']--;
  } 
  
  for (int c : count) {
    if (c != 0) {
      return false;
    }
  }
  
  return true;
}
!#bin/bash

# --_Actualizar el sistema
sudo apt update && sudo apt upgrade -y

# --_Instalar vscode

# Instalar dependencias necesarias
sudo apt install wget gpg

# Agregar clave GPG de Microsoft
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg

# Agregar repositorio de VS Code
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'

# Limpiar archivo temporal
rm -f packages.microsoft.gpg

# Actualizar lista de paquetes e instalar VS Code
sudo apt update
sudo apt install code


# --Instalar google chrome

# Agregar la clave GPG de Google
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
# Agregar el repositorio de Chrome
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
# Actualizar la lista de paquetes
sudo apt update
# Instalar Chrome
sudo apt install google-chrome-stable

# --Instalar php

#Instalar software para manejo de repositorios:
sudo apt install software-properties-common
#Agregar el repositorio PPA de Ondřej Surý para PHP:
sudo add-apt-repository ppa:ondrej/php
#Actualizar la información de paquetes:
sudo apt-get update

# Actualizar lista de paquetes
sudo apt update

# --_instalar python

# Instalar Python completo con herramientas de desarrollo
sudo apt install python3 python3-dev python3-venv python3-pip

# Instalar paquetes comúnmente necesarios
sudo apt install python3-setuptools python3-wheel build-essential

# Actualizar lista de paquetes
sudo apt update

# Instalar PHP 7.4 y extensiones comunes
# Instalar PHP 7.4 con extensiones comunes para desarrollo web
sudo apt install php7.4 php7.4-pgsql php7.4-cli php7.4-fpm php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath libapache2-mod-php -y

# Verificar instalación
#php7.4 -v

# Agregar repositorio de PHP actualizado (Ondřej Surý)
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

sudo apt install php8.5 php8.5-pgsql php8.5-cli php8.5-fpm php8.5-common php8.5-mysql php8.5-zip php8.5-gd php8.5-mbstring php8.5-curl php8.5-xml php8.5-bcmath


# Ahora busca again
#apt-cache search php | grep "^php8"

# Ver versiones de PHP instaladas
#update-alternatives --list php

# Configurar PHP 7.4 como versión por defecto
#sudo update-alternatives --set php /usr/bin/php7.4

# Verificar versión por defecto
#php -v

# --Instalar composer
#la manera correcta de instalarlo
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
 
#alternativamente los siguientes comandos instalarán Composer globalmente
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
 
#borrar el instalador
php -r "unlink('composer-setup.php');"
 
#Por último, ejecuta el siguiente comando en tu terminal para comprobar si Composer se ha #instalado correctamente:
composer

# --_Instalar apache2

# Actualizar lista de paquetes
sudo apt update

# Instalar Apache2
sudo apt install apache2 -y

# --_instalar postgres

# Crear directorio para claves si no existe
sudo mkdir -p /etc/apt/keyrings

# Descargar e instalar la clave GPG de PostgreSQL
curl -fsS https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/keyrings/postgresql.gpg

# Agregar repositorio CORRECTO usando "noble" en lugar de "xia"
echo "deb [signed-by=/etc/apt/keyrings/postgresql.gpg] https://apt.postgresql.org/pub/repos/apt noble-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

# Actualizar sistema
sudo apt update && sudo apt upgrade -y

# Instalar dependencias
sudo apt install wget curl gnupg2

# Agregar repositorio oficial de PostgreSQL
sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Importar clave GPG
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Actualizar lista de paquetes
sudo apt update

# Instalar PostgreSQL (última versión)
sudo apt install postgresql postgresql-contrib

# Verificar instalación y versión
#psql --version

# Ver estado del servicio
#sudo systemctl status postgresql

# --configuracion postgres 

# Iniciar servicio PostgreSQL
#sudo systemctl start postgresql
#sudo systemctl enable postgresql

# Configurar contraseña para usuario postgres
#sudo -u postgres psql
#\password postgres
#\q

# Editar configuración para acceso remoto (opcional)
#sudo nano /etc/postgresql/*/main/postgresql.conf
# Descomentar y cambiar: listen_addresses = '*'

sudo nano /etc/postgresql/*/main/pg_hba.conf
# Agregar: host all all 0.0.0.0/0 md5

# Reiniciar PostgreSQL
#sudo systemctl restart postgresql

# --comandos utiles

# Ver versiones instaladas
psql --version
pgadmin4 --version

# Gestión de servicios
#sudo systemctl status postgresql
#sudo systemctl restart postgresql
#sudo systemctl stop postgresql
#sudo systemctl start postgresql

# Conectarse a PostgreSQL
#psql -U postgres -h localhost

# Ver bases de datos
#sudo -u postgres psql -c "\l"

# Ver usuarios
#sudo -u postgres psql -c "\du"

# --_Iinstalar pgadmin4

# Clave GPG para pgAdmin
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /etc/apt/keyrings/pgadmin.gpg

# Repositorio correcto para pgAdmin
echo "deb [signed-by=/etc/apt/keyrings/pgadmin.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/noble pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list

# Actualizar sistema
sudo apt update && sudo apt upgrade -y

# Instalar dependencias necesarias
sudo apt install wget curl gnupg2

# 1. Agregar clave GPG de pgAdmin (método moderno)
sudo mkdir -p /etc/apt/keyrings
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /etc/apt/keyrings/pgadmin-keyring.gpg

# 2. Agregar repositorio usando "noble" en lugar de "xia"
echo "deb [signed-by=/etc/apt/keyrings/pgadmin-keyring.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/noble pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list

# 3. Actualizar e instalar
sudo apt update
sudo apt install pgadmin4-desktop

# --_instar git

# Actualizar lista de paquetes
sudo apt update

# Instalar Git con todas las herramientas comúnmente necesarias
sudo apt install git gitk git-gui meld

# Si instalaste desde repositorios
sudo apt update && sudo apt upgrade git

# Instalar documentación
sudo apt install git-doc

# Verificar instalación
#git --version

sudo apt update
sudo apt install yakuake

# Descargar e instalar NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# Recargar el perfil
source ~/.bashrc
# O si usas Zsh:
# source ~/.zshrc

# Verificar instalación de NVM
nvm --version

# --_Instalar nodejs
# Instalar Node.js 22 (última versión estable)
nvm install 22

# Usar Node.js 22
nvm use 22

# Establecer como versión por defecto
nvm alias default 22

# Verificar instalación
node --version  # Debería mostrar v22.x.x
npm --version   # Debería mostrar 10.x.x
Planning to move abroad can be challenging without expert help. Choosing reliable immigration consultancy services ensures your application process is smooth, accurate, and stress-free. Professional consultants assist with documentation, visa options, and country-specific requirements, increasing your chances of approval. With the right guidance, you can confidently take the next step toward your dream destination and a successful future overseas. More info:https://makimmigration.ca/
void add_attachments_to_crm_reservation(string res_id, string P_Folder_ID, string WD_File_name)
{
try 
{
	// Format file name (remove extension if exists)
	remove_dot = ifnull(WD_File_name.lastIndexOf("."),-1);
	if(remove_dot != -1)
	{
		file_name_without_ext = WD_File_name.substring(0,remove_dot);
	}
	else
	{
		file_name_without_ext = ifnull(WD_File_name,"");
	}
	info "Formatted file name: " + file_name_without_ext;
	// Search Deal in CRM
	rec_id = "";
	criteria = "(Deal_Name:equals:" + file_name_without_ext + ")";
	search_resp = zoho.crm.searchRecords("Deals",criteria);
	if(search_resp != null && search_resp.size() > 0)
	{
		for each  data in search_resp
		{
			Deal_Name = ifnull(data.get("Deal_Name"),"");
			if(file_name_without_ext == Deal_Name)
			{
				rec_id = ifnull(data.get("id"),"");
				break;
			}
		}
	}
	// If Deal found, download and attach file
	if(rec_id != "")
	{
		file_download = invokeurl
		[
			url :"https://workdrive.zoho.com/api/v1/download/" + res_id
			type :GET
			connection:"zoho_wd"
		];
		if(file_download != null)
		{
			file_download.setParamName("file");
			file_download.setFileName(file_name_without_ext + " - Oqood");
			upload_resp = invokeurl
			[
				url :"https://www.zohoapis.com/crm/v6/Deals/" + rec_id + "/Attachments"
				type :POST
				files:file_download
				connection:"zoho_crm"
			];
			info upload_resp;
		}
		else
		{
			info "Download failed: No file content received from WorkDrive.";
		}
	}
	else
	{
		info "No matching Deal found for file name: " + file_name_without_ext;
	}
}
catch (e)
{
	sendmail
	[
		from :zoho.loginuserid
		to :"zoho.failure@leosinternational.zohodesk.com"
		subject :"[WorkDrive Attachment Error | File " + ifnull(WD_File_name,"Unknown") + "]"
		message :"An error occurred while uploading WorkDrive file to CRM.\n\n" + "WorkDrive File: " + ifnull(WD_File_name,"") + "\n" + "Resource ID: " + ifnull(res_id,"") + "\n" + "Error Details: " + e.toString()
	]
}
}
If you or a loved one has been injured in a recent dog attack, it’s important to understand your legal rights. Working with experienced Georgia dog attack attorneys can help you pursue compensation for medical expenses, trauma, and other damages. These professionals know how to handle complex liability cases, ensuring victims receive the justice and financial recovery they deserve after such a traumatic event. More Info https://langrinrobertsonlaw.com/georgia/dog-bite-attorney/
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "⚡ We’re halfway through Hackathon Week,Melbourne! ⚡",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "What an incredible start it has been. The energy, ideas, and teamwork across the office have been inspiring to see. :xero-hackathon: 💙"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*Here’s a reminder of what’s happening for the rest of the week* 👇"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "💡 *Spaces and Snacks*\n\nOur Hackathon spaces *Level 3- Wominjeka Space* remain open and ready for your collaboration sessions. \n\nFor all Hackathon participants, don’t forget to grab some snacks and juices located on *Level 3* to keep your creativity flowing."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " :lunch: *Build your own Bot Burger*\n\nJoin us for a Hackathon Boost *Build your own Bot Burger* at *12.00pm in the Wominjeka Breakout Space on Level - 3*. Menu in the :thread:. Come together with fellow Hackers, share ideas, and connect over this special meal to celebrate Hackathon Week."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*Stay Connected :speech_balloon:*\n\nJoin <https://join.slack.com/share/enQtOTY1NTEzNTcwODQ3MC1lYTI0Njg1M2MxY2ZlODE5ODdlOWNkMmI2NmY2YTViOTc2NGQ0OWQ5ZjU1ZjA2NzJkODY5NjM2ODM2NDE4OTQ0 /|*#xero-hackathon*> for global updates, inspiration, and stories from other offices."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " \n\n Stay tuned to this channel, and make sure you're subscribed to the <https://calendar.google.com/calendar/u/0?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Melbourne Social Calendar*> :party-wx:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Keep the ideas coming and continue to power up innovation and customer delight. :ai: 💫\n\nLove,\n\nWX :Party-wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":sunshine: :x-connect: Boost Days: What's on this week :x-connect: :sunshine:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Good morning Brisbane and hope you all had a fab weekend! :sunshine: \n\n Please see below for what's on this week! :yay: "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-28: Monday, 28th October",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Industry Beans*.\n\n :Lunch: Delicious *Sunnyside Sandwiches* provided in the kitchen from *12pm* in the kitchen.\n\n:massage:*Wellbeing*: Pilates at *SP Brisbane City* is bookable every Monday!"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-30: Wednesday, 30th October",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership*: Enjoy free coffee and café-style beverages from our Cafe partner *Industry Beans*. \n\n:lunch: *Morning Tea*:from *9am* in the kitchen!"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-31:Friday, 31st October ",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":cheers-9743: :pumpkin: *Happy Hour & Happy Halloween:* from 3pm - 4pm in the kitchen! Wind down for the week over some drinks and nibbles."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y19uY2M4cDN1NDRsdTdhczE0MDhvYjZhNnRjb0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Brisbane Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX Team :party-wx:"
			}
		}
	]
}
https://i.ibb.co/98W13PY/c1f64245afb2.gif",
		"width":"1",
		"height":"1",
		"size": "42",
		"time": "1552042565",
		"expiration":"0",
		"image": {
			"filename": "c1f64245afb2.gif",
			"name": "c1f64245afb2",
			"mime": "image/gif",
			"extension": "gif"
public int findUniqueChar(String s) {
    int uniqueCharIndex = -1;

    for (int i = 0; i < s.length(); i++) {
        boolean unique = true;
        char currentChar = s.charAt(i);

        for (int j = 0; j < s.length(); j++) {
            if (currentChar == s.charAt(j) && i != j) {
                unique = false;
                break;
            }
        }

        if (unique = true) {
            uniqueCharIndex = 1;
            break
        }
    }
    
    return uniqueCharIndex;
}
import java.util.Scanner;

public class RunAnimal {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Enter an animal (bird, cat, dog): ");
        String choice = input.nextLine();

        Animal animal;

        if (choice.equalsIgnoreCase("bird")) {
            animal = new Bird();
        } else if (choice.equalsIgnoreCase("cat")) {
            animal = new Cat();
        } else if (choice.equalsIgnoreCase("dog")) {
            animal = new Dog();
        } else {
            System.out.println("Unknown animal!");
            input.close();
            return;
        }

        System.out.println();
        animal.eat();
        animal.sleep();
        animal.makeSound();

        input.close();
    }
}

abstract class Animal {
    abstract void eat();
    abstract void sleep();
    abstract void makeSound();
}

class Bird extends Animal {
    void eat() {
        System.out.println("The bird pecks on some grains.");
    }

    void sleep() {
        System.out.println("The bird sleeps on a tree branch.");
    }

    void makeSound() {
        System.out.println("The bird chirps cheerfully.");
    }
}

class Cat extends Animal {
    void eat() {
        System.out.println("The cat eats some fish.");
    }

    void sleep() {
        System.out.println("The cat sleeps soundly on the couch.");
    }

    void makeSound() {
        System.out.println("The cat meows softly.");
    }
}

class Dog extends Animal {
    void eat() {
        System.out.println("The dog eats its favorite bone.");
    }

    void sleep() {
        System.out.println("The dog sleeps beside its owner.");
    }

    void makeSound() {
        System.out.println("The dog barks loudly.");
    }
}
Proxysale - Long-Term ISP Proxy    https://proxysale.com/product/isp/

Combined capabilities of data centers and residential IPs

Key Features:
🟢Extremely long sessions up to 12 hours
🟢Unlimited connections and threads
🟢Supports HTTP(S)/SOCKS5 protocols

Contact us anytime:

Telegram: @proxySale1
Email: support@proxysale.com
Proxysale - Long-Term ISP Proxy    https://proxysale.com/product/isp/

Combined capabilities of data centers and residential IPs

Key Features:
🟢Extremely long sessions up to 12 hours
🟢Unlimited connections and threads
🟢Supports HTTP(S)/SOCKS5 protocols

Contact us anytime:

Telegram: @proxySale1
Email: support@proxysale.com
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":x-connect: :star: Boost Days - What's on this week in Brisbane! :star: :x-connect:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Happy Monday Brisbane! \n\nWe’ve got an exciting week ahead as the *Hackathon* kicks off across Xero! :xero-hackathon:\n\n*See below for what's in store:* 👇"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-20: *Monday, 20th October*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership:* Enjoy coffee and café-style beverages from our cafe partner, *Industry Beans *.\n\n:croissant: *Hackathon The Data Burger Lunch:* Provided in the *Kitchen* from 12pm ."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":calendar-date-22: *Wednesday, 22nd October*"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Café Partnership:* Enjoy coffee and café-style beverages from our cafe partner, *Industry beans*.\n\n:croissant: *Breakfast:* Provided the *Kitchen* from 9am."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":brain: *Brainstorming Booths + Breakout Spaces*\n\nThe following spaces have been reserved for Hackathon teams to collaborate and create:\n• All Hands Space"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":apple: :juicebox: *Snacks + Juices*\n\nKeep your creativity flowing! Healthy snacks and juices will be available in the *Kitchen* throughout the week."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "*What else :heart:*\n\nStay tuned to this channel, and make sure you’re subscribed to the <https://calendar.google.com/calendar/u/0?cid=Y19uY2M4cDN1NDRsdTdhczE0MDhvYjZhNnRjb0Bncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Brisbane Bay Social Calendar*> for all upcoming events."
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Let’s power up, Brisbane! ⚡\n\nLove,\nWX :party-wx:"
			}
		}
	]
}
The one thing people are sure of is that the history of finger limes is that their origin is from Northern New South Wales and Queensland. This is known for the unusual citrus, also known as Citrus australasica, which is native. For thousands of years, indigenous Australian communities, including the Bundjalung, Gumbainggir, Wakka Wakka, and Barunggam nations, have used the finger lime as bush food. They have eaten the fruit raw, added its acidic pearls to seafood, and used parts of the plant as medicine. 
star

Tue Oct 28 2025 20:42:16 GMT+0000 (Coordinated Universal Time)

@EdenPark

star

Tue Oct 28 2025 20:09:42 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Tue Oct 28 2025 20:05:29 GMT+0000 (Coordinated Universal Time)

@EdenPark

star

Tue Oct 28 2025 14:17:23 GMT+0000 (Coordinated Universal Time)

@usman13

star

Tue Oct 28 2025 12:21:15 GMT+0000 (Coordinated Universal Time) https://www.coinsclone.com/opensea-alternatives/

@LilianAnderson #openseaalternatives #alternativestoopensea #openseacompetitors #nftmarketplacealternatives #bestnftplatforms

star

Tue Oct 28 2025 07:20:27 GMT+0000 (Coordinated Universal Time)

@vplab2025 #c#

star

Tue Oct 28 2025 05:28:42 GMT+0000 (Coordinated Universal Time) https://johnasgharmd.com/endoscopic-spine/

@oscarwillard

star

Tue Oct 28 2025 01:01:40 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Mon Oct 27 2025 22:01:31 GMT+0000 (Coordinated Universal Time)

@kimicodes ##corp ##hwcg ##blog ##resources ##backup

star

Mon Oct 27 2025 20:36:29 GMT+0000 (Coordinated Universal Time)

@Y@sir #bricks #checkbox-filter

star

Mon Oct 27 2025 19:56:28 GMT+0000 (Coordinated Universal Time)

@kimicodes

star

Mon Oct 27 2025 16:37:40 GMT+0000 (Coordinated Universal Time)

@Inescn

star

Mon Oct 27 2025 11:19:27 GMT+0000 (Coordinated Universal Time) https://www.kryptobees.com/sports-betting-app-development

@Braydenlucas

star

Mon Oct 27 2025 11:19:03 GMT+0000 (Coordinated Universal Time) https://www.kryptobees.com/sports-betting-app-development

@Braydenlucas

star

Mon Oct 27 2025 07:56:46 GMT+0000 (Coordinated Universal Time)

@MinaTimo

star

Mon Oct 27 2025 07:31:13 GMT+0000 (Coordinated Universal Time) https://southbeachhomes.com.au/double-storey-homes-melbourne/

@southbeachhomes

star

Mon Oct 27 2025 03:56:50 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Mon Oct 27 2025 03:52:36 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sun Oct 26 2025 17:14:17 GMT+0000 (Coordinated Universal Time)

@bdaplab2025 #python

star

Sun Oct 26 2025 14:29:59 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sun Oct 26 2025 14:28:49 GMT+0000 (Coordinated Universal Time)

@rcb

star

Sat Oct 25 2025 18:15:44 GMT+0000 (Coordinated Universal Time)

@enojiro7

star

Sat Oct 25 2025 18:15:43 GMT+0000 (Coordinated Universal Time)

@enojiro7

star

Fri Oct 24 2025 14:21:09 GMT+0000 (Coordinated Universal Time)

@jrg_300i #yii2

star

Fri Oct 24 2025 13:11:42 GMT+0000 (Coordinated Universal Time)

@MinaTimo

star

Fri Oct 24 2025 10:24:40 GMT+0000 (Coordinated Universal Time) https://www.addustechnologies.com/crypto-exchange-software-development-company

@brucebanner #crypto #exchange #development #company

star

Thu Oct 23 2025 11:02:14 GMT+0000 (Coordinated Universal Time) https://www.plurance.com/metatrader-clone-script

@johncameron

star

Thu Oct 23 2025 10:16:44 GMT+0000 (Coordinated Universal Time)

@Inescn

star

Thu Oct 23 2025 07:17:04 GMT+0000 (Coordinated Universal Time) https://www.touchcrypto.org/bet365-clone-script

@AthurLuis7801 #bet365clonescript #bettingplatform #sportsbetting #bettingsoftware #onlinebetting

star

Thu Oct 23 2025 04:06:59 GMT+0000 (Coordinated Universal Time)

@mehran

star

Thu Oct 23 2025 04:05:37 GMT+0000 (Coordinated Universal Time)

@mehran

star

Thu Oct 23 2025 04:04:02 GMT+0000 (Coordinated Universal Time)

@mehran

star

Wed Oct 22 2025 15:54:47 GMT+0000 (Coordinated Universal Time)

@jrg_300i #yii2

star

Wed Oct 22 2025 15:38:01 GMT+0000 (Coordinated Universal Time)

@jrg_300i #yii2

star

Wed Oct 22 2025 13:43:10 GMT+0000 (Coordinated Universal Time)

@Inescn

star

Tue Oct 21 2025 16:52:11 GMT+0000 (Coordinated Universal Time)

@johndavid

star

Tue Oct 21 2025 13:00:56 GMT+0000 (Coordinated Universal Time)

@usman13

star

Tue Oct 21 2025 12:21:27 GMT+0000 (Coordinated Universal Time)

@leojordan

star

Tue Oct 21 2025 03:18:41 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Tue Oct 21 2025 03:10:37 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Mon Oct 20 2025 18:42:33 GMT+0000 (Coordinated Universal Time)

@Tommy120190

star

Mon Oct 20 2025 11:25:52 GMT+0000 (Coordinated Universal Time)

@Inescn

star

Mon Oct 20 2025 07:19:46 GMT+0000 (Coordinated Universal Time)

@jerzey002

star

Mon Oct 20 2025 05:56:29 GMT+0000 (Coordinated Universal Time)

@Proxysale

star

Mon Oct 20 2025 05:56:10 GMT+0000 (Coordinated Universal Time)

@Proxysale

star

Sun Oct 19 2025 22:15:28 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sun Oct 19 2025 11:05:09 GMT+0000 (Coordinated Universal Time) https://citroncaviarlb.com/history-of-finger-limes-from-indigenous-australian-bushfood-to-global-gourmet/

@citroncaviar #finger #lime #citrus #red #recipe #caviar

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension