Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all 518776 articles
Browse latest View live

INF79 - простой редактор autorun.inf - Бета-тестирование

$
0
0
Помните, я делал INF69? Я сделал ему продолжение!

Если вы не знаете, INF69 - моя программа по созданию файлов автозапуска для USB/CD/DVD накопителей.

Нововведения:
1.Появилась возможность делать ярлык накопителю (label).
2.Появился русский язык.
3.Теперь появился полноценный файл справки (*.chm).
4.Появился установщик.

Создать autorun.inf очень легко, нажмите "Подробнее..." в программе и выберите слева "Как пользоваться INF79?"

Изображения
Тип файла: png inf2.png (4.2 Кб)
Вложения
Тип файла: rar INF79.rar (165.0 Кб)

Лабы по инфе - Assembler для начинающих

$
0
0
Как следует поступить, если потребуется для хранения кодов эталонного и тестового символов использовать регистр dx , используемый также при генерации текстовых сообщений?
Что надо сделать, чтобы проверять не один символ, а например, последовательность, из нескольких символов?
Предложите структуру такой программы))
До этого я писала код, для создания пароля, проверки его, а так же вывод на экран правильного пароля

iMac A1225 БП pa-3241-02a - Ремонт ноутбуков

$
0
0
Всем добрый день!

Есть Блок Питания от iMac A1225
БП pa-3241-02a

Помогите хорошим фото, или опознать элемент, резистор обуглился не разобрать.

Фото прилагается. Заранее спасибо!

Изображения
Тип файла: jpg s-l1600.jpg (426.9 Кб)

Создание фильтра и копирование результатов фильтрации на другой лист (либо в другой файл) - MS Office Excel

$
0
0
Необходима помощь "чайнику".

Есть большой массив строк (тексты и цифры), в которых присутствуют часто повторяющиеся слова.
Необходимо выделить строки по этим повторяющимся словам и скопировать их в отдельный файл (или другой лист)
без потери информации ни в исходном массиве, ни в новом.

Т.е. я так понимаю необходимо создать фильтр по заданным параметрам и скопировать результат фильтрации.

Пробую через CTRL+F найти нужные строки. Получается. Вижу массив.
Но как найденное скопировать и вставить в другой файл (или лист), не знаю.

Помогите , пожалуйста, решить вопрос (желательно попроще:) )
Заранее благодарю

Excel Чтение данных из нескольких листов другой книги - VBA

$
0
0
Всем добрый день! Суть вопроса:

Имеется пустая таблица-шаблон, имеется вторая "таблица-донор" с несколькими листами, на каждом из которых необходимо последовательно искать столбец по его названию и записывать значения в соответствующий столбец первой таблицы.

Буду рад, если подскажете, как это можно реализовать! Спасибо.

Вычислить значения выражений - Pascal ABC

Отключение служб через SetupComplete.cmd - Windows 10

$
0
0
Всем привет. Може кто знает, почему при отключении этой службы черерез \$OEM$\$$\Setup\Scripts\SetupComplete.cmd винда стопорится на начальных настройках входа в систему?
Вложение 1094301Вложение 1094302
Вот на первых версиях Windows 10 работало и работает:10.0.10240.16384, 10.0.10586, 10.0.14393 ... Но потом на какой-то перестало, где-то на 1703 или 1803...

Изображения
Тип файла: png f8ad4e0076489cf280b3b31327cad23f.png (15.7 Кб)
Тип файла: png cf892f3347e341ba6e54857e7c93967d.png (45.5 Кб)

Проблема со скриптом - Unity, Unity3D

$
0
0
Здравствуйте друзья! В общем у меня такая проблема: Я создаю игрушку - что-то типа стратегии и у меня возникла проблема с одним скриптом, а точнее с одной строчкой... Вот скрипт:

:

using UnityEngine;
using System.Collections;

public class BuildManager : MonoBehaviour {
        private GameObject _currentBuild;
        public LayerMask mask;

        private GlobalDB _GDB;

        void Start () {
                _GDB = GameObject.FindGameObjectWithTag ("GameController").GetComponent <GlobalDB> ();
        }

        void Update () {
                if (_currentBuild != null) {
                        Ray ray;
                        RaycastHit hit;
               
                        ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                        if (Physics.Raycast (ray, out hit, 10000.0f, mask)) {
                                _currentBuild.transform.position = hit.point;
                        }

                        if (Input.GetMouseButtonDown (0) && _GDB.numIntersection == 0) {
                                _currentBuild.tag = "Untagged";
                                _currentBuild = null;
                                _GDB.DeActivationTrigger ();
                        }
                }
        }

        public void setBuild (GameObject go) {
                _currentBuild = (GameObject)Instantiate (go);
                _currentBuild.tag = "CurBuild";
                _GDB.ActivationTrigger ();
        }
}

И этот скрипт выдает мне такую ошибку:

Assets/Scripts/Controllers/Construction.cs(80,48): error CS0619: `UnityEngine.Camera.mainCamera' is obsolete: `Property mainCamera has been deprecated. Use Camera.main instead (UnityUpgradable) -> main'


Как мне можно ее исправить?! Заранее спасибо!

Не удается установить соединение с базой - Java для начинающих

$
0
0
При тесте соединения выдает исключение
java.sql.SQLInvalidAuthorizationSpecException: invalid authorization specification: SA
:

public class AppConnect {
        private static final String url ="jdbc:hsqldb:file:src/main/resources/db/library";
        private static final String driver ="org.hsqldb.jdbcDriver";
        private static final String user = "SA";
        private static final String password = " ";
       
        public Connection getConnection() {
                Connection connection = null;
                try {
                        Class.forName(driver);
                        connection = DriverManager.getConnection(url, user, password);
                        connection.setAutoCommit(true);
                        System.out.println("Соединение установлено");
                } catch (ClassNotFoundException | SQLException e) {
                        e.printStackTrace();
                        System.out.println("Не удалось установить соединения :(");
                }
                return connection;
        }

}

В pom.xml зависимость указал
:

                <dependency>
                    <groupId>org.hsqldb</groupId>
                    <artifactId>hsqldb</artifactId>
                    <version>2.5.0</version>
                </dependency>

Добавлено через 1 минуту
А это продолжение исключения
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source)
at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at libraryapp.AppConnect.getConnection(AppConnect.java:17)
at libraryapp.TestAppConnection.main(TestAppConnection.java:7)
Caused by: org.hsqldb.HsqlException: invalid authorization specification: SA
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.rights.User.checkPassword(Unknown Source)
at org.hsqldb.rights.UserManager.getUser(Unknown Source)
at org.hsqldb.Database.connect(Unknown Source)
at org.hsqldb.DatabaseManager.newSession(Unknown Source)

Сколькими способами можно выбрать из группы четырех дежурных - Комбинаторика

$
0
0
В группе 15 девушек и 7 юношей. Сколькими способами можно выбрать из группы четырех дежурных так, чтобы среди них девушек было меньше, чем юношей?

Задания по Northwind - Microsoft SQL Server

$
0
0
Доброго времени суток, друзья.

Помогите, пожалуйста, с выполнением задания по тестовой БД Northwind:
1. Как называется самый дорогой товар из товарной категории №1?
2. В какие города заказы комплектовались более десяти дней?
3. Какие покупатели до сих пор ждут отгрузки своих заказов?
4. Скольких покупателей обслужил продавец, лидирующий по общему количеству заказов?
5. Сколько французских городов обслужил продавец №1 в 1997-м?
6. В каких странах есть города, в которые было отправлено больше двух заказов?
7. Перечислите названия товаров, которые были проданы в количестве менее 1000 штук (quantity)?
8. Как зовут покупателей, которые делали заказы с доставкой в другой город (не в тот, в котором они прописаны)?
9. Товарами из какой категории в 1997-м году заинтересовалось больше всего компаний, имеющих факс?
10. Перечислите названия товаров, которые были проданы в количестве менее 1000 штук (quantity)?
11. Как зовут покупателей, которые делали заказы с доставкой в другой город (не в тот, в котором они прописаны)?
12. Товарами из какой категории в 1997-м году заинтересовалось больше всего компаний, имеющих факс?
13. Для каждого покупателя (имя, фамилия) показать название его любимого товара в каждой категории. Любимый товар – это тот, которого покупатель купил больше всего штук (столбец Quantity).
14. Сколько всего единиц товаров (то есть, штук – Quantity) продал каждый продавец (имя, фамилия) осенью 1996 года?
15. Придумать (сначала) и решить (потом) осмысленную задачу, которая:
a. Требует использования нескольких таблиц
b. При решении джойнами чувствительна к порядку джойнов (то есть это должна быть как бы задача-ловушка, подталкивающая к совершению «ошибки №3»)
16. Найти покупателей (имя, фамилия), у которых не было промежутков между заказами, превышающих полгода.
17. Для каждого покупателя (имя, фамилия) найти два товара (название), на которые покупатель потратил больше всего денег в 1997-м году. Эту задачу требуется решить как минимум двумя разными способами из этих трёх:
a. Используя APPLY
b. Используя ранжирующую функцию
c. Без применения APPLY и ранжирующих функций

Изображения
Тип файла: png Northwind.png (35.5 Кб)

Переопределение run() в классе, наследованном от threading.Thread (Producer-Consumer pattern) - Python для начинающих

$
0
0
День добрый!
Помогите разобраться с наследованием от класса Thread.
Для решения определенной задачи пытаюсь реализовать паттерн Producer-Consumer по образцу:
https://www.bogotobogo.com/python/Mu...sing_Queue.php

В идеале работать должно так:
1. Формируется большая очередь1, в которую помещаются входные данные
2. Producer берет из этой очереди объект, который должен быть передан в качестве аргумента target-функции этого потока, после чего возвращенное ей значение помещается в промежуточную очередь2
3. Consumer'ы берут из очереди2 объекты и передают их в качестве аргументов target-функции.

У меня это выглядит примерно так:

:

import threading
import queue
from collections import deque

def getpages(): #Получаем данные
    with open(file,'r') as mfile:
        return [(URL % REQ) % int(line.strip()) for line in mfile]
def foo1(data):
  #Код
    return processed_data

def foo2(item):
      #Код

#Создаём очереди
q1=queue.Queue()
q1.queue=deque(getpages('members.csv'))
BUF_SIZE = 40
q2 = queue.Queue(BUF_SIZE)

#Паттерн
class ProducerThread(threading.Thread):
    def __init__(self, group=None, target=None, name = None, args=(), kwargs=None, verbose=None):
        super(ProducerThread,self).__init__()
        self.target = target
        self.name = name

    def run(self):
        while not q1.empty():
            if not q2.full():
                item = q1.get()
                #нечто
                q2.put(#результат работы foo1)
        return

class ConsumerThread(threading.Thread):
    def __init__(self, group=None, target=None, name = None, args=(), kwargs=None, verbose=None):
        super(ConsumerThread,self).__init__()
        self.target = target
        self.name = name
        return

    def run(self):
        while True:
            if not q2.empty():
                item=q2.get()
              #target=foo2(item), как-то так
            elif q1.empty():
                break
        return
#
#
#остальной код
#
#
if __name__ == "__main__":
    producers=[]
    for i in range(10):
        producer=ProducerThread(name = 'Producer '+ str(i), target=foo1)
        producers.append(producer)
        producer.start()
    consumers=[]
    for i in range(100):
        consumer=ConsumerThread(name = 'Consumer ' +str(i),target=foo2)
        consumers.append(consumer)
        consumer.start()
    for p in producers:
        p.join()
    for c in consumers:
        c.join()

Подскажите пожалуйста, как правильно переделать run() в ProducerThread и ConsumerThread, чтобы они помещали данные из очередей в target-функции foo1 и foo2.
И есть ли возможность получить возвращаемые target-функцией значения внутри класса-потока?

Работа с большими объёмами данных - С++ для начинающих

$
0
0
Имеется жд состав текстовых файлов, с которыми нужно сделать некоторые действия. В конечном итоге после обработки нужно всё перечитать и осуществить сквозную сортировку результирующих слов внутри всего этого в алфавитном порядке.

На данный момент у меня имеется функция, которая всё это перечитывает по абзацам, делает некоторые операции над словами и выдаёт результат обработки абзаца, отсортированный по возрастанию. Думаю это скидывать во временный файл, содержащий весь объём данных (цикл дозаписи в файл), вопрос в том, как потом это отсортировывать, какими средствами?

Что делать, если даже объём отдельных файлов слишком большой, чтобы его неглядя пихать в оперативу? Не говоря уже о общем объёме. Вменяемые текстовые редакторы с такими файлами работают кусками, запрашивая у юзверя диапазон байт с которыми он хочет работать, но при необходимости они умеют сортировать содержимое таких файлов.

Basic compiler - Basic

$
0
0
Всем привет! Установил на Xiaomi BASIC Compiler. Все работает, но не открывает файлы. Как сделать, чтобы открывал? Попутный вопрос, связанный м первым. Куда это приложение загружается? В папке Андроид его нет, при этом опция "Все приложения" даёт имя пакета с этим приложением. Найти не могу. Папка нужна, чтобы попытаться открывать файлы из нее. Заранее спасибо. Юрий

Оптимизация программы - С++ для начинающих

$
0
0
Добрый день, попытался реализовать алгоритм Штрассена для умножения квадратных матриц
:

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <new>

using namespace std;

int s, n2;

void inMatrix(int* a, const int* b, int n)
{
    for (int i = 0; i < n; ++i)
    {
        int p = i * n2;

        for (int j = 0; j < n; ++j)
            a[p + j] = b[p + j];
    }
}

void outMatrix(const int* a, int n)
{
    for (int i = 0; i < n; ++i)
    {
        int p = i * n2;

        for (int j = 0; j < n; ++j)
            cout << a[p + j] << ' ';
        cout << '\n';
    }
    cout << '\n';
}

int* addMatrix(const int* a, bool sign, const int* b, int n)// sign == 0(1) = > a +(-) b, m - размер подматрицы, n - исходной матрицы
{
    int* c = new int[s], i, j;

    if (sign)
    {
        for (i = 0; i < n; ++i)
        {
            int p = i * n2;

            for (j = 0; j < n; ++j)
                c[p + j] = a[p + j] - b[p + j];
        }
    }
    else
    {
        for (i = 0; i < n; ++i)
        {
            int p = i * n2;

            for (j = 0; j < n; ++j)
                c[p + j] = a[p + j] + b[p + j];
        }
    }

    return c;
}

void strassen(int* c, const int* a, const int* b, int n)
{
    if (n == 2)
    {
        int d11 = 0,
            d12 = 1,
            d21 = n2,
            d22 = n2 + 1;

        c[d11] = a[d11] * b[d11] + a[d12] * b[d21];
        c[d12] = a[d11] * b[d12] + a[d12] * b[d22];
        c[d21] = a[d21] * b[d11] + a[d22] * b[d21];
        c[d22] = a[d21] * b[d12] + a[d22] * b[d22];
    }
    else
    {
        int m = n >> 1,
            d11 = 0,
            d12 = m,
            d21 = m * n2,
            d22 = m * (n2 + 1),
            * m1 = new int[s],
            * m2 = new int[s],
            * m3 = new int[s],
            * m4 = new int[s],
            * m5 = new int[s],
            * m6 = new int[s],
            * m7 = new int[s];

        // M1 = (A11 + A22) * (B11 + B22)
        strassen(m1, addMatrix(a + d11, 0, a + d22, m), addMatrix(b + d11, 0, b + d22, m), m);

        // M2 = (A21 + A22) * B11
        strassen(m2, addMatrix(a + d21, 0, a + d22, m), b + d11, m);

        // M3 = A11 * (B12 - B22)
        strassen(m3, a + d11, addMatrix(b + d12, 1, b + d22, m), m);

        // M4 = A22 * (B21 - B11)
        strassen(m4, a + d22, addMatrix(b + d21, 1, b + d11, m), m);

        // M5 = (A11 + A12) * B22
        strassen(m5, addMatrix(a + d11, 0, a + d12, m), b + d22, m);

        // M6 = (A21 - A11) * (B11 + B12)
        strassen(m6, addMatrix(a + d21, 1, a + d11, m), addMatrix(b + d11, 0, b + d12, m), m);

        // M7 = (A12 - A22) * (B21 + B22)
        strassen(m7, addMatrix(a + d12, 1, a + d22, m), addMatrix(b + d21, 0, b + d22, m), m);

        // C11 = M1 + M4 - M5 + M7
        inMatrix(c + d11, addMatrix(addMatrix(addMatrix(m1, 0, m4, m), 1, m5, m), 0, m7, m), m);

        // C12 = M3 + M5
        inMatrix(c + d12, addMatrix(m3, 0, m5, m), m);

        // C21 = M2 + M4
        inMatrix(c + d21, addMatrix(m2, 0, m4, m), m);

        // C22 = M1 + M3 - M2 + M6
        inMatrix(c + d22, addMatrix(addMatrix(addMatrix(m1, 0, m3, m), 1, m2, m), 0, m6, m), m);

        delete[] m1;
        delete[] m2;
        delete[] m3;
        delete[] m4;
        delete[] m5;
        delete[] m6;
        delete[] m7;
    }
}

int isPowerOf2(int n)
{
    return !(n & (n - 1));
}

int clp2(int n)
{
    n--;
    for (int p = 1; p < 32; p <<= 1)
        n |= (n >> p);
    return ++n;
}

int main()
{
    int n, * a, * b, * c, i, j;
    time_t strt, stp;

    srand(time(NULL));

    cin >> n;

    // n <= n2 = 2^k
    if (isPowerOf2(n))
        n2 = n;
    else n2 = clp2(n);

    s = n2 * n2;
    a = new int[s]();
    b = new int[s]();
    c = new int[s];

    for (i = 0; i < n; ++i)
    {
        int p = i * n2;

        for (j = 0; j < n; ++j)
        {
            a[p + j] = rand() % n;
            b[p + j] = rand() % n;
        }
    }

    //вывод без нулей
    outMatrix(a, n);
    outMatrix(b, n);

    strt = clock();

    strassen(c, a, b, n2);

    stp = clock();

    outMatrix(c, n);

    cout << (stp - strt) / CLOCKS_PER_SEC << " s (" << (stp - strt) << " ticks) for n = " << n << '\n';

    delete[] a;
    delete[] b;
    delete[] c;
}

Для малых n алгоритм работает корректно, но например для n=256 - ложит мой ПК, компилятор VS2019, алгоритм затрачивает много памяти, может быть оптизация памяти помогла бы, кто мог бы предложить что-нибудь конкретное?
Также не исключаю возможности переполнения массивов, все они обычные-интовые.
Спасибо!

ВЫВОД СЛОВ без библиотеки string - С++ для начинающих

$
0
0
Ввести предложение длиной не более 80 символов. Вывести слова, которые заканчиваются на ту же букву, что и первое слово, и их количество.
Без библиотеки string

Поиск пропуска в последовательности - C# для начинающих

$
0
0
И еще раз добрый вечер. Никак не могу найти похожие примеры, чтобы разобраться как сотворить сие чудо.
Имеется файл, в котором записаны 8-значные числа в порядке возрастания. Допустим так:

93221025
93221026
93221027
93221029
93221030

Необходимо находить разрывы в последовательности.
Получается нужно сравнивать является ли следующее число текущим +1, если да, то продолжать далее, если же нет то выводить предыдущее число и следующее где находится этот разрыв. То есть в данном случае примера необходимо будет вывести в какой-нибудь textBox
Значения 93221027 и 93221029 так как 93221028 отсутствует.
Перепробовал различные варианты, но так и не додумался до нужного :(

таск 8 - С++ для начинающих

$
0
0
Создать новый квадратный двумерный массив из переданного двумерного массива, обрезав от последнего лишние строки или столбцы, т.е. такие, для которых нет соответствующих столбцов или строк.

Данная задача должна быть оформлена двумя способами:

1) в виде консольного приложения (см. требования к предыдущей Задаче № 8)

2) в виде оконного приложения, где двумерный массив можно задать в GridView. При этом должна быть возможность загрузить данный из файла в GridView (реализованная в виде двух функций: чтение данных из файла в двумерный массив и отображение двумерного массива в GridView), а также сохранить данные из GridView в файл (реализованная в виде двух функций: чтение данных из GridView в двумерный массив и запись двумерного массива в файл).

Функции, реализующие логику задачи и чтение / запись данных из файлов / в файлы, должны быть оформлены в виде отдельного модуля (в отдельном файле). Этот модуль без каких-либо изменений должен использоваться в двух программах: с консольным интерфесом (файлы для чтения / записи задаются в параметрах командной строки) и оконным интерфейсом.

Заранее придумать не менее 5 различных тестов, охватывающих как типичные, так и все возможные граничные (наиболее невероятные и показательные) ситуации. (Сохранить в текстовых файлах input01.txt, input02.txt и т. д.)

Решение, естественно, должно быть оформлено в виде отдельной функции. В реализации обязательно использовать вспомогательные функции примерно так же, как в предыдущей Задаче № 8 (в этой задаче, какие именно вспомогательные функции использовать, не расписано, вы должны самостоятельно решить, какие именно будут удобны для вашего варианта).

В данных задачах, если явно не оговорено иное, предполагается, что все строки двумерного массива имеют одинаковую длину, т.е. массив является прямоугольным. В реализации разрешено также использовать вместо прямоугольных массивов ступенчатые массивы (т.е. массивы массивов или списки списков). В этом случае необходимо дополнительно реализовать функцию проверки «прямоугольности» ступенчатого массива, которую применять для проверки корректности данных перед обработкой.

Разберите данные задачи и напишите как их решать - Математика

$
0
0
1)http://www.cyberforum.ru/cgi-bin/latex.cgi?\int \frac{xdx}{{sin}^{2}({x}^{2}+1)}
2)Найти полный дифференциал функции z=http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2}+{3y}^{2}+5xy В Т.М(0:-1)
3)Найти объем тела, полученного от вращения вокруг оси OX фигуры, ограниченной осью OX и кривой y=2x-http://www.cyberforum.ru/cgi-bin/latex.cgi?{x}^{2}
4)Найти http://www.cyberforum.ru/cgi-bin/latex.cgi?\lim_{0}\frac{{sin}^{2}\frac{x}{4}}{{x}^{2}}
5)Вычислить http://www.cyberforum.ru/cgi-bin/latex.cgi?{(\frac{\iota -1}{\sqrt{2}})}^{4}

Нарушение прав доступа при записи по адресу 0xCDCDCDCD - С++ для начинающих

$
0
0
:

#include "stdafx.h"
#include <iostream>
using namespace std;
struct Node
{
        int data;
        Node* next;
};

struct List
{
        int size;
        Node  *Head;
};

void Make_List(int n, Node **Head)
{
        if (n > 0)
        {
                (*Head) = new Node;
                cout << "Введите число: ";
                cin >> (*Head)->data;
                (*Head)->next = NULL;
                Make_List(n - 1, &((*Head)->next));
        }
}

void Show_List(Node *Head)
{
        if (Head != NULL)
        {
                cout << Head->data << "\t";
                Show_List(Head->next);
        }
        else cout << "\n";
}

void delete_Items(List *list)
{
        int x;
        cout << "Введите X: ";
        cin >> x;
        Node *curr = list->Head; // Текущий элемент списка
        while (curr != nullptr) // Проходим по списку
        {
                if (curr->data == x)
                {
                        Node *to_del = curr->next;
                        if (to_del)
                        {
                                curr->next = to_del->next;
                                delete to_del;
                                return;
                        }
                }
        }
}
int _tmain(int argc, _TCHAR* argv[])
{
        setlocale(0, ".1251");
        Node *Head;
        int n;
        List *list = new List;
        cout << "Введите размер списка: ";
        cin >> n;
        Make_List(n, &Head);
        Show_List(Head);
        delete_Items(list);
        Show_List(Head);
        system("pause");
        return 0;
}

На строчке if (curr->data == x) прерывается и выбивает ошибку. Можете объяснить как исправить, пожалуйста.
Viewing all 518776 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>