Snippets Collections
// prevent actions by user in setup
// for all actions 
[ExtensionOf(classStr(WorkflowWorkItemActionManager))]
final class WorkflowWorkItemActionManager_Proc_Extension
{
    public static void dispatchWorkItemAction(  WorkflowWorkItemTable _workItem,
                                                WorkflowComment _comment,
                                                WorkflowUser _toUser,
                                                WorkflowWorkItemActionType _workItemActionType,
                                                menuItemName _menuItemName,
                                                Name _queueName )
    {
        NW_UserWorkflowAction   NW_UserWorkflowAction;
        WorkflowTable           WorkflowTable;
        NW_WFAction             action;
        switch(_workItemActionType)
        {
            case WorkflowWorkItemActionType::Complete :
                action = NW_WFAction::Approve;
                break;
            case WorkflowWorkItemActionType::Delegate :
                action = NW_WFAction::Delegate;
                break;
            case WorkflowWorkItemActionType::Deny :
                action = NW_WFAction::Cancel;
                break;
            case WorkflowWorkItemActionType::RequestChange :
                action = NW_WFAction::RequestChange;
                break;
            case WorkflowWorkItemActionType::Return :
                action = NW_WFAction::Reject;
                break;
        }
        SysWorkflowTable sysworkflowTable = SysWorkflowTable::find(_workItem.CorrelationId);

        while select NW_UserWorkflowAction 
            join WorkflowTable 
            where NW_UserWorkflowAction.SequenceNumber == WorkflowTable.SequenceNumber
            && WorkflowTable.TemplateName == sysworkflowTable.TemplateName
            && NW_UserWorkflowAction.NW_WFAction == action
        {
            if(NW_UserWorkflowAction.NW_UserGroup == NW_UserGroup::User
                && NW_UserWorkflowAction.UserId == curUserId())
                throw error(strFmt('This user %1 not able to %2 this workflow',curUserId(), action));
            
            if(NW_UserWorkflowAction.NW_UserGroup == NW_UserGroup::Group)
            {
                UserGroupList UserGroupList;
                select UserGroupList
                where UserGroupList.userId == curUserId()
                && UserGroupList.groupId == NW_UserWorkflowAction.UserGroup;
                if(UserGroupList)
                {
                    throw error(strFmt('This user %1 not able to %2 this workflow',curUserId(), action));
                }
            }
        }

        next dispatchWorkItemAction( _workItem,
                                     _comment,
                                    _toUser,
                                    _workItemActionType,
                                    _menuItemName,
                                    _queueName );
        
    }

}


// for submit only
[ExtensionOf(classStr(Workflow))]
final class NW_Workflow_Proc_Extension
{
    public static server WorkflowCorrelationId activateFromWorkflowType(workflowTypeName _workflowTemplateName,
                                                                    recId _recId,
                                                                    WorkflowComment _initialNote,
                                                                    NoYes _activatingFromWeb,
                                                                    WorkflowUser _submittingUser)
    {
        NW_UserWorkflowAction NW_UserWorkflowAction;
        WorkflowTable  WorkflowTable;

        select NW_UserWorkflowAction join WorkflowTable where NW_UserWorkflowAction.SequenceNumber==WorkflowTable.SequenceNumber
            && WorkflowTable.TemplateName==_workflowTemplateName  && NW_UserWorkflowAction.NW_WFAction==NW_WFAction::Submit;
        if(NW_UserWorkflowAction)
        {
            if(NW_UserWorkflowAction.NW_UserGroup == NW_UserGroup::User)
                throw error(strFmt('This user %1 not able to submit this workflow',_submittingUser));
            else
            {
                UserGroupList UserGroupList;
                select UserGroupList where UserGroupList.userId==_submittingUser && UserGroupList.groupId==NW_UserWorkflowAction.UserGroup;
                if(UserGroupList)
                {
                    throw error(strFmt('This user %1 not able to submit this workflow',_submittingUser));
                }
            }
        
        }
 
      
        WorkflowCorrelationId ret = next activateFromWorkflowType(  _workflowTemplateName,
                                                                    _recId,
                                                                    _initialNote,
                                                                    _activatingFromWeb,
                                                                    _submittingUser);
        return ret; 
    }

}
<script type="text/javascript">
  document.addEventListener('DOMContentLoaded', function () {
    var link = document.getElementById('exit-intent-popup-trigger');


    function handleClick(e) {
      e.preventDefault();
    }


    link.addEventListener('click', handleClick);


    function triggerClick() {
      link.click();
      sessionStorage.setItem('eventTriggered', 'true');
    }

    // בדיקה האם המכשיר הוא נייד
    var isMobile = /Mobi|Android/i.test(navigator.userAgent);

    if (isMobile) {

      if (sessionStorage.getItem('eventTriggered') !== 'true') {
        setTimeout(triggerClick, 8000); 
      }
    } else {

      document.addEventListener('mousemove', function(e) {
        if (sessionStorage.getItem('eventTriggered') !== 'true') {
 
          if (e.clientY < 45) {
            triggerClick();
            document.removeEventListener('mousemove', arguments.callee);
            sessionStorage.setItem('eventTriggered', 'true');  
          }
        }
      });
    }
  });
</script>
var email = new GlideEmailOutbound();
email.setSubject('Who's gonna win?');
email.setBody('ChatGPT vs BARD');
email.addRecipient('vikram@example.com');
email.save();
<img alt="" src="images/2024/02/160224_Infinite_Elite_E_AppHeroImage_W750xH489px.jpg?$staticlink$" />
<img alt="" src="2024/03/0703_Infinite_Elite_E_AppHeroImage_W750xH489px.jpg?$staticlink$" />
<img alt="" src="images/2024/02/020224_New_Arrivals_E_AppHeroImage_W750xH489px.jpg?$staticlink$" />
position: -webkit-sticky; //Safari
position: sticky;
top: 162px;
wp.domReady(function () {
	wp.blocks.registerBlockStyle('core/button', {
		name: 'with-arrow',
		label: 'With Arrow',
	});
	wp.blocks.registerBlockStyle('core/button', {
		name: 'link-btn',
		label: 'Link Btn',
	});
  	wp.blocks.registerBlockStyle('core/list', {
		name: 'check',
		label: 'check mark',
	});
});
constructor(element) {
		this.$element = $(element);
		this.$slider = this.$element.find('.team-carousel__slider');

		this.init();
	}

	init() {
		const itemCount = this.$slider.find('.team-carousel__slider-item').length;
		if (itemCount > 4) {
			this.$slider.addClass('owl-carousel');
			this.$slider.owlCarousel({
				margin: 30,
				center: false,
				autoplay: true,
				autoplaySpeed: 2000,
				autoplayHoverPause: true,
				responsiveClass: true,
				items: 1,
				navText: [
					'<a class="arrow-left" aria-hidden="true"></a>',
					'<a class="arrow-right" aria-hidden="true"></a>',
				],
				responsive: {
					576: {
						items: 1,
					},
					789: {
						items: 2,
					},
					992: {
						items: 3,
					},
					1199: {
						items: 4,
					},
				},
			});
		} else if (itemCount <= 4) {
			this.$slider.removeClass('owl-carousel');
		} else {
			this.$slider.removeClass('owl-carousel');
		}
	}

//$(document).ready(function () {
// 	var $landingMasthead = $('[data-landing-masthead]');
// 	if ($landingMasthead.children().length > 1) {
// 		$landingMasthead.owlCarousel({
// 			loop: false,
// 			nav: true,
// 			dots: true,
// 			animateIn: true,
// 			responsiveClass: true,
// 			items: 1,
// 			navText: [
// 				'<a class="arrow-left" aria-hidden="true"></a>',
// 				'<a class="arrow-right" aria-hidden="true"></a>',
// 			],
// 		});
// 	} else {
// 		$landingMasthead.removeClass('owl-carousel');
// 	}
// });
$('.our-approach__row:first').addClass('active');
		$('.our-approach__content').hide();
		$('.our-approach__content:first').show();

		$('.our-approach__row').click(function () {
			$('.our-approach__row').removeClass('active');
			$(this).addClass('active');
			$('.our-approach__content').hide();

			var activeTab = $(this).find('a').attr('href');
			$(activeTab).fadeIn(700);
			return false;
		});
constructor(element) {
		this.$element = $(element);
		this.$tabs = this.$element.find('.accordion__tab');
		this.$innerConts = this.$element.find('.accordion__inner-cont');
		this.$contents = this.$element.find('.accordion__content');
		this.init();
	}

	init() {
		this.$tabs.first().addClass('active');
		this.$innerConts.first().addClass('active');
		this.$tabs.click((e) => {
			e.preventDefault();
			const $this = $(e.currentTarget);
			this.$tabs.not($this).add(this.$innerConts).removeClass('active');
			this.$contents.not($this.next()).slideUp();
			$this.toggleClass('active').parent().toggleClass('active');
			$this.find('.icon').toggleClass('icon-up icon-down');
			$this.next().slideToggle();
		});
	}

// constructor(element) {
	// 	this.$element = $(element);
	// 	this.$tabs = this.$element.find('.faq__tab');
	// 	this.init();
	// }

	// init() {
	// 	$('.faq__tab:first, .faq__inner-cont:first').addClass('active');
	// 	this.$tabs.click(function (e) {
	// 		e.preventDefault();
	// 		$('.faq__tab, .faq__inner-cont').not(this).removeClass('active');
	// 		$('.faq__content').not($(this).next()).slideUp();
	// 		$(this).toggleClass('active');
	// 		$(this).parent().toggleClass('active');
	// 		$(this).find('.icon').toggleClass('icon-up icon-down');
	// 		$(this).next().slideToggle();
	// 	});
	// }
jQuery('img').each(function($){
            var $img = jQuery(this);
            var imgID = $img.attr('id');
            var imgClass = $img.attr('class');
            var imgURL = $img.attr('src');

            jQuery.get(imgURL, function(data) {
                // Get the SVG tag, ignore the rest
                var $svg = jQuery(data).find('svg');

                // Add replaced image's ID to the new SVG
                if(typeof imgID !== 'undefined') {
                    $svg = $svg.attr('id', imgID);
                }
                // Add replaced image's classes to the new SVG
                if(typeof imgClass !== 'undefined') {
                    $svg = $svg.attr('class', imgClass+' replaced-svg');
                }

                // Remove any invalid XML tags as per http://validator.w3.org
                $svg = $svg.removeAttr('xmlns:a');

                // Replace image with new SVG
                $img.replaceWith($svg);

            }, 'xml');

        });
constructor(element) {
		this.$element = $(element);
		this.$popup = this.$element.find('.media-text__img');

		this.init();
	}

	init() {
		this.$popup.magnificPopup({
			disableOn: 0,
			type: 'iframe',
			mainClass: 'mfp-fade',
			removalDelay: 160,
			preloader: false,
			fixedContentPos: true,
		});
	}
print(getwd())

setwd(“set the path”)

data<-read.csv("population.csv")

print(data)


OUTPUT: 

 population

 1 1000

 2 2000

 3 3500

 4 4500

 5 5000

zstat<-(mean(data$population)-1000)/(sd(data$population)/sqrt(nrow(data)))

print(zstat)

OUTPUT:

[1] 2.926836
Square_number<-function(a)
{
for(k in1:a)
{
n<-k^2
print(n)
}
}
Square_number(5)
#Create a function without
argument
fun<-function()
{
print(“Printing Numbers from 1 to 8”)
for(i in 1:8)
{
print(i)
}
}
fun()




data(mtcars)

s<-mtcars$cyl

pm<-3

a<-0.08

sm<-mean(s)

sts<-sd(s)

se<-std/sqrt(length(s))

z<-(sm-pm)/se

p<-2*pnorm(-abs(z))

print(z)

print(p)

if(p<a){

 print("Reject the null hypothesis")

}else{

 print("Failed to reject the null hypothesis")

}
{% unless template == 'index' %}
   <script src="https://cdn.static.kiwisizing.com/SizingPlugin.prod.js" defer> </script>
{% endunless %}
 .slick-dots li button:before
    {
        font-family: 'slick';
        font-size: 6px;
        line-height: 20px;
        ...
    }
from django.db.models import Count

# Using Subquery
authors_with_book_count = Author.objects.annotate(book_count=Subquery(Book.objects.filter(author=OuterRef('pk')).values('author').annotate(count=Count('id')).values('count')))

# Equivalent Non-Subquery Approach
authors = Author.objects.all()
authors_with_book_count = []
for author in authors:
    book_count = Book.objects.filter(author=author).count()
    authors_with_book_count.append({'author': author, 'book_count': book_count})
Copy
DECLARE

CURSOR C1(R NUMBER) IS SELECT * FROM SAILORS WHERE RATING=R;

I INTEGER;

BEGIN

FOR I IN 1..10 LOOP

DBMS_OUTPUT.PUT_LINE('SAILORS WITH RATING '|| I || ' ARE');

DBMS_OUTPUT.PUT_LINE('SID NAME AGE');

FOR Z IN C1(I) LOOP

/* It‘s not compulsory to define variable using rowtype for simple cursor as well as for update cursor */

DBMS_OUTPUT.PUT_LINE(Z.SID ||' ' ||Z.SNAME ||' '||Z.AGE);

END LOOP;

END LOOP;

END;

/





 create table sailors (sid integer,sname varchar2(30),rating integer,age real,primary key (sid));

 insert into sailors values(22, 'dustin',7,45.0);

 insert into sailors values(31, 'lubber',8,55.5);

 insert into sailors values(58, 'rusty', 10, 35.0);
void changeOrder(Button button){
        if (button == UP){
            temp = shapes[selectedShape];
            for(int i = selectedShape; i < shapeCounter; ++i){
                shapes[i] = shapes[i+1];
                std::cout << i << std::endl;            
            }
            shapes[shapeCounter - 1] = temp;
            selectedShape = shapeCounter - 1;
        }
        else if (button == DOWN){
            temp = shapes[selectedShape];
            for(int i = selectedShape; i > 0; --i){
                shapes[i] = shapes[i-1];
            }
            shapes[0] = temp;
            selectedShape = 0;
        }
    }
#ifndef TOOLBAR_H
#define TOOLBAR_H

#include "Rectangle.h"
#include "Texture.h"

enum Button {UP, DOWN, NONE};


class Toolbar {
    Rectangle area;
    Texture upArrow;
    Button button;
    Texture downArrow;

public:
    Toolbar(){
        area = Rectangle(-1.0f, 1.0f, 2.0f, 0.2f, Color(1.0f, 1.0f, 1.0f));
        upArrow = Texture("assets/upArrow.png", 0.7f, 0.95f, 0.1f, 0.1f, true);
        downArrow = Texture("assets/downArrow.png", 0.8f, 0.95f, 0.1f, 0.1f, true);

    }

    void handleMouseClick(float x, float y){
    
    }  

    void draw(){
        area.draw();
        upArrow.draw();
        downArrow.draw();
        
    }

    Button handleMouse(float x, float y){
        if(upArrow.contains(x, y)){
            return UP;
        }
        else if(downArrow.contains(x, y)){
            return DOWN;
        }
        else{
            return NONE;
        }
    }

    bool contains(float x, float y){
        return area.contains(x, y);
    }
};

#endif
Client Side Code Test.jsx --
import React, { useState, useEffect, useRef } from 'react';
import { initializeApp } from 'firebase/app';
import { getAuth, RecaptchaVerifier, signInWithPhoneNumber } from 'firebase/auth';

// Firebase config - replace with your own config
const firebaseConfig = {
  apiKey: "AIzaSyCb9uireOMfRCFfJpWWr1WmKdP629rNcCk",
  authDomain: "trial-34ed7.firebaseapp.com",
  projectId: "trial-34ed7",
  storageBucket: "trial-34ed7.appspot.com",
  messagingSenderId: "71628620493",
  appId: "1:71628620493:web:7c44729da8f9c541e55f84",
  measurementId: "G-N9GPF8ZQMZ"
};

// Initialize Firebase App
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);

function Test() {
  const [mobile, setMobile] = useState('');
  const [otp, setOtp] = useState('');
  let confirmationResult = useRef(null);

  useEffect(() => {
    configureCaptcha();
  }, []);

  const handleChange = (e) => {
    const { name, value } = e.target;
    if (name === 'mobile') {
      setMobile(value);
    } else if (name === 'otp') {
      setOtp(value);
    }
  };

  const configureCaptcha = () => {
    window.recaptchaVerifier = new RecaptchaVerifier(auth, 'sign-in-button', {
      'size': 'invisible',
      'callback': (response) => {
        // reCAPTCHA solved, allow signInWithPhoneNumber.
        onSignInSubmit();
      }
    }, auth);
  };

  const onSignInSubmit = async (e) => {
    e.preventDefault();
    const phoneNumber = "+91" + mobile;
    console.log(phoneNumber);
    const appVerifier = window.recaptchaVerifier;
    try {
      confirmationResult.current = await signInWithPhoneNumber(auth, phoneNumber, appVerifier);
      console.log("OTP has been sent");
    } catch (error) {
      console.error("SMS not sent", error);
    }
  };

  const onSubmitOTP = async (e) => {
    e.preventDefault();
    try {
      const result = await confirmationResult.current.confirm(otp);
      const user = result.user;
      console.log(JSON.stringify(user));
      alert("User is verified");
    } catch (error) {
      console.error("User couldn't sign in (bad verification code?)", error);
    }
  };

  return (
    <div>
      <h2>Login Form</h2>
      <form onSubmit={onSignInSubmit}>
        <div id="sign-in-button"></div>
        <input type="text" name="mobile" placeholder="Mobile number" required onChange={handleChange} />
        <button type="submit">Submit</button>
      </form>

      <h2>Enter OTP</h2>
      <form onSubmit={onSubmitOTP}>
        <input type="text" name="otp" placeholder="OTP Number" required onChange={handleChange} />
        <button type="submit">Submit</button>
      </form>
    </div>
  );
}

export default Test;




const videoPlayers = document.getElementsByClassName('video-stream html5-main-video');
var videoPlayerss = videoPlayers[0]
var startTimes = 30
var endTimes = 68
var startTimes2 = 90
var endTimes2 = 150
var startTimes3 = 185
var endTimes3 = 270
videoPlayerss.currentTime = startTimes;
videoPlayerss.play();
videoPlayerss.addEventListener('timeupdate', () => {
  if (videoPlayerss.currentTime > endTimes && videoPlayerss.currentTime < startTimes2 ) {
    videoPlayerss.currentTime = startTimes2;
  } else if (videoPlayerss.currentTime > endTimes2 && videoPlayerss.currentTime < startTimes3 ) {
    videoPlayerss.currentTime = startTimes3;
  } else if (videoPlayerss.currentTime > endTimes3) {
    videoPlayerss.currentTime = startTimes;
  } 
});
var elementss2 = document.getElementsByClassName("ud-real-toggle-input");
//console.log(elementss2)
for (var i = 0; i < elementss2.length; i++) {
  if (!elementss2[i].hasAttribute("checked")) {
    console.log(elementss2[i]);
      elementss2[i].disabled = false;
      elementss2[i].click()
  }
}
var elementss2 = document.getElementsByClassName("contents");
//console.log(elementss2)
for (var i = 0; i < elementss2.length; i++) {
 elementss2[i].style = "display: none;";  
}
#define encoder_a 2 //keep this on and interrupt pin
#define encoder_b 3 //keep this on and interrupt pin
#define motor_step 9
#define motor_direction 8
#define motor_en 10 //
 
#define senzor_front 6 // sensor depan
#define senzor_rear 7  // sensor  samping
#define load_button 4
#define eject_button 5
 
volatile long motor_position, encoder;
int home_position = 0;
int load_position = 0;
int pe_load = 0;
 
void setup() {
     pinMode(encoder_a, INPUT);
     pinMode(encoder_b, INPUT);
 
     // disable pullup as we aren't using an open collector encoder
     digitalWrite(encoder_a, LOW);
     digitalWrite(encoder_b, LOW);
 
     //set up the various outputs
     pinMode(motor_step, OUTPUT);
     pinMode(motor_direction, OUTPUT);
     pinMode(motor_en, OUTPUT);//
     digitalWrite(motor_en, HIGH);//
     
     // then the senzors inputs
     pinMode(senzor_front, INPUT_PULLUP);
     pinMode(senzor_rear, INPUT_PULLUP);
 
     pinMode(load_button, INPUT_PULLUP);
     pinMode(eject_button, INPUT_PULLUP);
  //--------------------------------------------------
     // encoder pin on interrupt 0 (pin 2)
     attachInterrupt(0, encoderPinChangeA, CHANGE);
     // encoder pin on interrupt 1 (pin 3)
     attachInterrupt(1, encoderPinChangeB, CHANGE);
     encoder = 0;
 // -------------------------------------------------
 
}
 // -------------------------------------------------
void encoderPinChangeA(){
    if (digitalRead(encoder_a) == digitalRead(encoder_b)){
        encoder--;
    }
    else{
        encoder++;
    }
}
 
void encoderPinChangeB(){
    if (digitalRead(encoder_a) != digitalRead(encoder_b)){
        encoder--;
    }
    else{
        encoder++;
    }
}
 // -------------------------------------------------
 
 void loop() {
 
     // Control platen position of boot up and move to front
     if (home_position == 0) {
         digitalWrite(motor_direction, HIGH);
         TurnStepper();
         if (digitalRead(senzor_front) == LOW) {
             home_position = 1;
         }
      }
 
     // eject platen
     if (digitalRead(eject_button) == LOW) {
         home_position = 0;
     }
 
     // load platen
     if (digitalRead(load_button) == LOW) {
         load_position = 1;
     }
     if (load_position == 1) {
        digitalWrite(motor_direction, LOW);
        TurnStepper();
        if (digitalRead(senzor_rear) == LOW) {
           load_position = 0;
           pe_load = 1;
        }
      }
 // -------------------------------------------------
     if (encoder > 0){
         digitalWrite(motor_direction, HIGH);  //  output direction HIGH
         digitalWrite(motor_step, HIGH);       //  output step HIGH
         digitalWrite(motor_step, LOW);        //  output step LOW
         _delay_us(900);                       //  tunggu 200 microsecond
         motor_position++;                     //  posisi motor bergeser tambah satu point
         encoder = 0;                          //  reset ke 0
      }
      else if (encoder < 0){
         digitalWrite(motor_direction, LOW);   //  output direction LOW
         digitalWrite(motor_step, HIGH);       //  output step HIGH
         digitalWrite(motor_step, LOW);        //  output step LOW
         _delay_us(900);                       //  tunggu 200 microsecond
         motor_position--;                     //  posisi motor bergeser tambah satu point
         encoder = 0;                          //  reset ke 0
       }
 // -------------------------------------------------
}
 
void TurnStepper() {
     digitalWrite(motor_step, HIGH);
     delayMicroseconds(1000);                    //  speed motor 
     digitalWrite(motor_step, LOW);
     delayMicroseconds(1000);                    //  speed delay, the lower it is the faster
}
<?php if(preg_match('/\Ahttps?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?\Z/', 'http://'.$_POST['domain'])) // URL auf validität überprüfen. 
{
  $whois=array(); // Array initialisieren. Es folgen Deklarationen des mehrdimensionalem Arrays.
  $whois['.de']['server']='whois.denic.de';
  $whois['.de']['string']='Status:      free';
  $whois['.com']['server']='whois.crsnic.net';
  $whois['.com']['string']='No match for';
  $whois['.net']['server']='whois.crsnic.net';
  $whois['.net']['string']='No match for';
  $whois['.org']['server']='whois.publicinterestregistry.net';
  $whois['.org']['string']='NOT FOUND';
  $whois['.info']['server']='whois.afilias.net';
  $whois['.info']['string']='NOT FOUND';
  $whois['.biz']['server']='whois.nic.biz';
  $whois['.biz']['string']='Not found';
  $whois['.ag']['server']='whois.nic.ag';
  $whois['.ag']['string']='NOT FOUND';
  $whois['.am']['server']='whois.nic.am';
  $whois['.am']['string']='No match';
  $whois['.as']['server']='whois.nic.as';
  $whois['.as']['string']='Domain Not Found';
  $whois['.at']['server']='whois.nic.at';
  $whois['.at']['string']='nothing found';
  $whois['.be']['server']='whois.dns.be';
  $whois['.be']['string']='Status:      FREE';
  $whois['.cd']['server']='whois.cd';
  $whois['.cd']['string']='No match';
  $whois['.ch']['server']='whois.nic.ch';
  $whois['.ch']['string']='not have an entry';
  $whois['.cx']['server']='whois.nic.cx';
  $whois['.cx']['string']='Status: Not Registered';
  $whois['.dk']['server']='whois.dk-hostmaster.dk';
  $whois['.dk']['string']='No entries found';
  $whois['.it']['server']='whois.nic.it';
  $whois['.it']['string']='Status: AVAILABLE';
  $whois['.li']['server']='whois.nic.li';
  $whois['.li']['string']='do not have an entry';
  $whois['.lu']['server']='whois.dns.lu';
  $whois['.lu']['string']='No such domain';
  $whois['.nu']['server']='whois.nic.nu';
  $whois['.nu']['string']='NO MATCH for';
  $whois['.ru']['server']='whois.ripn.net';
  $whois['.ru']['string']='No entries found';
  $whois['.uk.com']['server']='whois.centralnic.com';
  $whois['.uk.com']['string']='No match for';
  $whois['.eu.com']['server']='whois.centralnic.com';
  $whois['.eu.com']['string']='No match';
  $whois['.ws']['server']='whois.nic.ws';
  $whois['.ws']['string']='No match for';

  $domain=str_replace('www.', '', $_POST['domain']); // Solche Dinge sind Detailssache (..)  Letztlich muss die Anfrage an den WHOIS-Server ohne http::// , www. usw. stattfinden. -> Nur Domainname und Domainendung.

  if(get_magic_quotes_gpc==0)
  {
    $domain=addslashes($domain);
  } 

// Verbindung zum whois server aufbauen / Status der Domain erfragen.

 $check=fsockopen($whois[$_POST['tld']]['server'], 43);
  fputs($check, $domain.$_POST['tld']."\r\n");
  while(!feof($check)) 
  {
    $report=$report.fgets($check, 128);
  }
  fclose($check);

  if(ereg($whois[$_POST['tld']]['string'], $report)) // Was soll geschehen, wenn domain noch frei ist?
  {
    print('domain frei.');
  }
  else // Was, wenn nicht?
  {
    print('domain nicht frei.');
  }
} 
?>
*{
	margin: 0;
	padding: 0;
}
body{
	background: #f4f9ff;
}
#wrapper{
	width: 100%;
	max-width: 460px;
	background: #fff;
		margin: 20px auto;
	padding: 20px;
	border-bottom: 1px solid #e7e7e7;
}
input{
	width: 100%;
	padding: 10px 0;
	margin-bottom: 20px;
}
button{
	border: none;
	background: #e7e7e7;
	padding: 10px 20px;
}
.result{
	text-align: center;
	font-size: 22px;
	margin-top: 20px;
}
.success{
	color: green;
}
.failur{
	color: red;
}
<?php
/*
 * @ PHP 5.6
 * @ Decoder version : 1.0.0.1
 * @ Release on : 24.03.2018
 * @ Website    : http://EasyToYou.eu
 */

require "init.php";
require ROOTDIR . DIRECTORY_SEPARATOR . "includes" . DIRECTORY_SEPARATOR . "clientareafunctions.php";
$domain = WHMCS\Input\Sanitize::decode(App::getFromRequest("domain"));
$ext = App::getFromRequest("ext");
$sld = App::getFromRequest("sld");
$tld = App::getFromRequest("tld");
$tlds = App::getFromRequest("search_tlds");
$captcha = new WHMCS\Utility\Captcha();
$validate = new WHMCS\Validate();
$captcha->validateAppropriateCaptcha(WHMCS\Utility\Captcha::FORM_DOMAIN_CHECKER, $validate);
if ($validate->hasErrors()) {
    WHMCS\Session::set("captchaData", array("invalidCaptcha" => true, "invalidCaptchaError" => $validate->getErrors()[0]));
    WHMCS\Session::set("CaptchaComplete", false);
} else {
    WHMCS\Session::set("captchaData", array("invalidCaptcha" => false, "invalidCaptchaError" => false));
    WHMCS\Session::set("CaptchaComplete", true);
}
if (in_array($domain, array(Lang::trans("domaincheckerdomainexample")))) {
    $domain = "";
}
if ($ext && $domain) {
    if (substr($ext, 0, 1) != ".") {
        $ext = "." . $ext;
    }
    $domain .= $ext;
}
if (!$domain && $sld && $tld) {
    if (substr($tld, 0, 1) != ".") {
        $tld = "." . $tld;
    }
    $domain = $sld . $tld;
}
if (is_array($tlds) && 0 < count($tlds)) {
    $tldToAppend = $tlds[0];
    if (substr($tldToAppend, 0, 1) != ".") {
        $tldToAppend = "." . $tldToAppend;
    }
    if ($domain) {
        $domain = $domain . $tldToAppend;
    } else {
        if ($sld) {
            $domain = $sld . $tldToAppend;
        }
    }
}
$domainRequestSuffix = $domain ? "&query=" . urlencode($domain) : "";
if (App::getFromRequest("transfer")) {
    App::redirect("cart.php", "a=add&domain=transfer" . $domainRequestSuffix);
}
if (App::getFromRequest("hosting")) {
    App::redirect("cart.php", substr($domainRequestSuffix, 1));
}
App::redirect("cart.php", "a=add&domain=register" . $domainRequestSuffix);

?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Domain checker</title>
	<link rel="stylesheet" href="./style.css">
</head>
<body>
	<div id="wrapper">		
		<form method="POST">
			<input type="text" name="domain" <?php if(isset($_POST['domain'])) echo 'value="'.$_POST['domain'].'"' ?>>
			<button type="submit">Check</button>
		</form>
		<div class="result">
			<?php 
				if(isset($_POST['domain'])){
					if ( gethostbyname($_POST['domain']) == $_POST['domain'] )
					    echo "<p class='success'>Congatulations! {$_POST['domain']} is available</p>";
					else
						echo "<p class='failur'>Sorry, {$_POST['domain']} is not available</p>";
				}
			?>
		</div>
	</div>
</body>
</html>
<script id="__bs_script__">//<![CDATA[
  (function() {
    try {
      var script = document.createElement('script');
      if ('async') {
        script.async = true;
      }
      script.src = 'http://HOST:3000/browser-sync/browser-sync-client.js?v=3.0.2'.replace("HOST", location.hostname);
      if (document.body) {
        document.body.appendChild(script);
      } else if (document.head) {
        document.head.appendChild(script);
      }
    } catch (e) {
      console.error("Browsersync: could not append script tag", e);
    }
  })()
//]]></script>
<label for="tempB">Choose a comfortable temperature:</label><br />
<input type="range" id="tempB" name="temp" list="values" />

<datalist id="values">
  <option value="0" label="very cold!"></option>
  <option value="25" label="cool"></option>
  <option value="50" label="medium"></option>
  <option value="75" label="getting warm!"></option>
  <option value="100" label="hot!"></option>
</datalist>
all:
	make -C /home/jonthan/pam_usb
    
/home/jonthan/pam_usb/%.o: /home/jonthan/pam_usb/%.c
	$(CC) -c -o $@ $<
      
/home/jonthan/pam_usb/pam_usb: /home/jonthan/pam_usb/main.o
	$(CC) -o $@ $^
 
clean:
	rm -f /home/jonthan/pam_usb/*.o /home/jonthan/pam_usb/pam_usb
Add (at least temporarily) a download repository. This requires registering trusted key. (More information). Run the following shell commands to trust the repository:

wget -nv https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/Ubuntu_23.10/Release.key -O - | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/owncloud-client.gpg > /dev/null




Run the following shell commands to add the repository and install from there:

sudo apt update
sudo apt install apt-transport-https
echo 'deb https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/Ubuntu_23.10/ /' | sudo tee -a /etc/apt/sources.list.d/owncloud-client.list
sudo apt update
sudo apt install owncloud-client
Add (at least temporarily) a download repository. This requires registering trusted key. (More information). Run the following shell commands to trust the repository:

wget -nv https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/Ubuntu_23.10/Release.key -O - | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/owncloud-client.gpg > /dev/null




Run the following shell commands to add the repository and install from there:

sudo apt update
sudo apt install apt-transport-https
echo 'deb https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/Ubuntu_23.10/ /' | sudo tee -a /etc/apt/sources.list.d/owncloud-client.list
sudo apt update
sudo apt install owncloud-client
#include "param.h"
#include "types.h"
#include "defs.h"
#include "x86.h"
#include "memlayout.h"
#include "mmu.h"
#include "proc.h"
#include "elf.h"

extern char data[];  // defined by kernel.ld
pde_t *kpgdir;  // for use in scheduler()

// Set up CPU's kernel segment descriptors.
// Run once on entry on each CPU.
void
seginit(void)
{
  struct cpu *c;

  // Map "logical" addresses to virtual addresses using identity map.
  // Cannot share a CODE descriptor for both kernel and user
  // because it would have to have DPL_USR, but the CPU forbids
  // an interrupt from CPL=0 to DPL=3.
  c = &cpus[cpuid()];
  c->gdt[SEG_KCODE] = SEG(STA_X|STA_R, 0, 0xffffffff, 0);
  c->gdt[SEG_KDATA] = SEG(STA_W, 0, 0xffffffff, 0);
  c->gdt[SEG_UCODE] = SEG(STA_X|STA_R, 0, 0xffffffff, DPL_USER);
  c->gdt[SEG_UDATA] = SEG(STA_W, 0, 0xffffffff, DPL_USER);
  lgdt(c->gdt, sizeof(c->gdt));
}

// Return the address of the PTE in page table pgdir
// that corresponds to virtual address va.  If alloc!=0,
// create any required page table pages.
static pte_t *
walkpgdir(pde_t *pgdir, const void *va, int alloc)
{
  pde_t *pde;
  pte_t *pgtab;

  pde = &pgdir[PDX(va)];
  if(*pde & PTE_P){
    pgtab = (pte_t*)P2V(PTE_ADDR(*pde));
  } else {
    if(!alloc || (pgtab = (pte_t*)kalloc()) == 0)
      return 0;
    // Make sure all those PTE_P bits are zero.
    memset(pgtab, 0, PGSIZE);
    // The permissions here are overly generous, but they can
    // be further restricted by the permissions in the page table
    // entries, if necessary.
    *pde = V2P(pgtab) | PTE_P | PTE_W | PTE_U;
  }
  return &pgtab[PTX(va)];
}

// Create PTEs for virtual addresses starting at va that refer to
// physical addresses starting at pa. va and size might not
// be page-aligned.
static int
mappages(pde_t *pgdir, void *va, uint size, uint pa, int perm)
{
  char *a, *last;
  pte_t *pte;

  a = (char*)PGROUNDDOWN((uint)va);
  last = (char*)PGROUNDDOWN(((uint)va) + size - 1);
  for(;;){
    if((pte = walkpgdir(pgdir, a, 1)) == 0)
      return -1;
    if(*pte & PTE_P)
      panic("remap");
    *pte = pa | perm | PTE_P;
    if(a == last)
      break;
    a += PGSIZE;
    pa += PGSIZE;
  }
  return 0;
}

// There is one page table per process, plus one that's used when
// a CPU is not running any process (kpgdir). The kernel uses the
// current process's page table during system calls and interrupts;
// page protection bits prevent user code from using the kernel's
// mappings.
//
// setupkvm() and exec() set up every page table like this:
//
//   0..KERNBASE: user memory (text+data+stack+heap), mapped to
//                phys memory allocated by the kernel
//   KERNBASE..KERNBASE+EXTMEM: mapped to 0..EXTMEM (for I/O space)
//   KERNBASE+EXTMEM..data: mapped to EXTMEM..V2P(data)
//                for the kernel's instructions and r/o data
//   data..KERNBASE+PHYSTOP: mapped to V2P(data)..PHYSTOP,
//                                  rw data + free physical memory
//   0xfe000000..0: mapped direct (devices such as ioapic)
//
// The kernel allocates physical memory for its heap and for user memory
// between V2P(end) and the end of physical memory (PHYSTOP)
// (directly addressable from end..P2V(PHYSTOP)).

// This table defines the kernel's mappings, which are present in
// every process's page table.
static struct kmap {
  void *virt;
  uint phys_start;
  uint phys_end;
  int perm;
} kmap[] = {
 { (void*)KERNBASE, 0,             EXTMEM,    PTE_W}, // I/O space
 { (void*)KERNLINK, V2P(KERNLINK), V2P(data), 0},     // kern text+rodata
 { (void*)data,     V2P(data),     PHYSTOP,   PTE_W}, // kern data+memory
 { (void*)DEVSPACE, DEVSPACE,      0,         PTE_W}, // more devices
};

// Set up kernel part of a page table.
pde_t*
setupkvm(void)
{
  pde_t *pgdir;
  struct kmap *k;

  if((pgdir = (pde_t*)kalloc()) == 0)
    return 0;
  memset(pgdir, 0, PGSIZE);
  if (P2V(PHYSTOP) > (void*)DEVSPACE)
    panic("PHYSTOP too high");
  for(k = kmap; k < &kmap[NELEM(kmap)]; k++)
    if(mappages(pgdir, k->virt, k->phys_end - k->phys_start,
                (uint)k->phys_start, k->perm) < 0) {
      freevm(pgdir);
      return 0;
    }
  return pgdir;
}

// Allocate one page table for the machine for the kernel address
// space for scheduler processes.
void
kvmalloc(void)
{
  kpgdir = setupkvm();
  switchkvm();
}

// Switch h/w page table register to the kernel-only page table,
// for when no process is running.
void
switchkvm(void)
{
  lcr3(V2P(kpgdir));   // switch to the kernel page table
}

// Switch TSS and h/w page table to correspond to process p.
void
switchuvm(struct proc *p)
{
  if(p == 0)
    panic("switchuvm: no process");
  if(p->kstack == 0)
    panic("switchuvm: no kstack");
  if(p->pgdir == 0)
    panic("switchuvm: no pgdir");

  pushcli();
  mycpu()->gdt[SEG_TSS] = SEG16(STS_T32A, &mycpu()->ts,
                                sizeof(mycpu()->ts)-1, 0);
  mycpu()->gdt[SEG_TSS].s = 0;
  mycpu()->ts.ss0 = SEG_KDATA << 3;
  mycpu()->ts.esp0 = (uint)p->kstack + KSTACKSIZE;
  // setting IOPL=0 in eflags *and* iomb beyond the tss segment limit
  // forbids I/O instructions (e.g., inb and outb) from user space
  mycpu()->ts.iomb = (ushort) 0xFFFF;
  ltr(SEG_TSS << 3);
  lcr3(V2P(p->pgdir));  // switch to process's address space
  popcli();
}

// Load the initcode into address 0 of pgdir.
// sz must be less than a page.
void
inituvm(pde_t *pgdir, char *init, uint sz)
{
  char *mem;

  if(sz >= PGSIZE)
    panic("inituvm: more than a page");
  mem = kalloc();
  memset(mem, 0, PGSIZE);
  mappages(pgdir, 0, PGSIZE, V2P(mem), PTE_W|PTE_U);
  memmove(mem, init, sz);
}

// Load a program segment into pgdir.  addr must be page-aligned
// and the pages from addr to addr+sz must already be mapped.
int
loaduvm(pde_t *pgdir, char *addr, struct inode *ip, uint offset, uint sz)
{
  uint i, pa, n;
  pte_t *pte;

  if((uint) addr % PGSIZE != 0)
    panic("loaduvm: addr must be page aligned");
  for(i = 0; i < sz; i += PGSIZE){
    if((pte = walkpgdir(pgdir, addr+i, 0)) == 0)
      panic("loaduvm: address should exist");
    pa = PTE_ADDR(*pte);
    if(sz - i < PGSIZE)
      n = sz - i;
    else
      n = PGSIZE;
    if(readi(ip, P2V(pa), offset+i, n) != n)
      return -1;
  }
  return 0;
}

// Allocate page tables and physical memory to grow process from oldsz to
// newsz, which need not be page aligned.  Returns new size or 0 on error.
int
allocuvm(pde_t *pgdir, uint oldsz, uint newsz)
{
  char *mem;
  uint a;

  if(newsz >= KERNBASE)
    return 0;
  if(newsz < oldsz)
    return oldsz;

  a = PGROUNDUP(oldsz);
  for(; a < newsz; a += PGSIZE){
    mem = kalloc();
    if(mem == 0){
      cprintf("allocuvm out of memory\n");
      deallocuvm(pgdir, newsz, oldsz);
      return 0;
    }
    memset(mem, 0, PGSIZE);
    if(mappages(pgdir, (char*)a, PGSIZE, V2P(mem), PTE_W|PTE_U) < 0){
      cprintf("allocuvm out of memory (2)\n");
      deallocuvm(pgdir, newsz, oldsz);
      kfree(mem);
      return 0;
    }
  }
  return newsz;
}

// Deallocate user pages to bring the process size from oldsz to
// newsz.  oldsz and newsz need not be page-aligned, nor does newsz
// need to be less than oldsz.  oldsz can be larger than the actual
// process size.  Returns the new process size.
int
deallocuvm(pde_t *pgdir, uint oldsz, uint newsz)
{
  pte_t *pte;
  uint a, pa;

  if(newsz >= oldsz)
    return oldsz;

  a = PGROUNDUP(newsz);
  for(; a  < oldsz; a += PGSIZE){
    pte = walkpgdir(pgdir, (char*)a, 0);
    if(!pte)
      a = PGADDR(PDX(a) + 1, 0, 0) - PGSIZE;
    else if((*pte & PTE_P) != 0){
      pa = PTE_ADDR(*pte);
      if(pa == 0)
        panic("kfree");
      char *v = P2V(pa);
      kfree(v);
      *pte = 0;
    }
  }
  return newsz;
}

// Free a page table and all the physical memory pages
// in the user part.
void
freevm(pde_t *pgdir)
{
  uint i;

  if(pgdir == 0)
    panic("freevm: no pgdir");
  deallocuvm(pgdir, KERNBASE, 0);
  for(i = 0; i < NPDENTRIES; i++){
    if(pgdir[i] & PTE_P){
      char * v = P2V(PTE_ADDR(pgdir[i]));
      kfree(v);
    }
  }
  kfree((char*)pgdir);
}

// Clear PTE_U on a page. Used to create an inaccessible
// page beneath the user stack.
void
clearpteu(pde_t *pgdir, char *uva)
{
  pte_t *pte;

  pte = walkpgdir(pgdir, uva, 0);
  if(pte == 0)
    panic("clearpteu");
  *pte &= ~PTE_U;
}

// Given a parent process's page table, create a copy
// of it for a child.
// Given a parent process's page table, create a copy
// of it for a child, leaving the first page unmapped.
pde_t*
copyuvm(pde_t *pgdir, uint sz)
{
    pde_t *d;
    pte_t *pte;
    uint pa, i, flags;
    char *mem;

    if((d = setupkvm()) == 0)
        return 0;
    for(i = PGSIZE; i < sz; i += PGSIZE){ // start from the second page
        if((pte = walkpgdir(pgdir, (void *) i, 0)) == 0)
            panic("copyuvm: pte should exist");
        if(!(*pte & PTE_P))
            panic("copyuvm: page not present");
        pa = PTE_ADDR(*pte);
        flags = PTE_FLAGS(*pte);
        if((mem = kalloc()) == 0)
            goto bad;
        memmove(mem, (char*)P2V(pa), PGSIZE);
        if(mappages(d, (void*)i, PGSIZE, V2P(mem), flags) < 0) {
            kfree(mem);
            goto bad;
        }
    }
    return d;

    bad:
    freevm(d);
    return 0;
}


//PAGEBREAK!
// Map user virtual address to kernel address.
char*
uva2ka(pde_t *pgdir, char *uva)
{
  pte_t *pte;

  pte = walkpgdir(pgdir, uva, 0);
  if((*pte & PTE_P) == 0)
    return 0;
  if((*pte & PTE_U) == 0)
    return 0;
  return (char*)P2V(PTE_ADDR(*pte));
}

// Copy len bytes from p to user address va in page table pgdir.
// Most useful when pgdir is not the current page table.
// uva2ka ensures this only works for PTE_U pages.
int
copyout(pde_t *pgdir, uint va, void *p, uint len)
{
  char *buf, *pa0;
  uint n, va0;

  buf = (char*)p;
  while(len > 0){
    va0 = (uint)PGROUNDDOWN(va);
    pa0 = uva2ka(pgdir, (char*)va0);
    if(pa0 == 0)
      return -1;
    n = PGSIZE - (va - va0);
    if(n > len)
      n = len;
    memmove(pa0 + (va - va0), buf, n);
    len -= n;
    buf += n;
    va = va0 + PGSIZE;
  }
  return 0;
}

void
proc_memdump(struct proc *p)
{
    cprintf("proc_memdump: pid=%d\n", p->pid);
    uint vpn;
    cprintf("VPN\tPFN\tPresent\tWrite\tUser\n");
    for (vpn = 0; vpn < USERTOP; vpn += PGSIZE) {
        pte_t *pte;
        pde_t *pde = p->pgdir;
        if ((pte = walkpgdir(pde, (void*)vpn, 0)) > 0) {
          if ((*pte)&PTE_P?1:0) {
            uint pfn = PTE_ADDR(*pte);
            cprintf("%d\t%d\t%d\t%d\t%d\n", vpn/PGSIZE, pfn>>12,
                (*pte)&PTE_P?1:0,
                (*pte)&PTE_W?1:0,
                (*pte)&PTE_U?1:0);
          }
        }
    }
}
//PAGEBREAK!
// Blank page.
//PAGEBREAK!
// Blank page.
//PAGEBREAK!
// Blank page.
#include "types.h"
#include "defs.h"
#include "param.h"
#include "memlayout.h"
#include "mmu.h"
#include "proc.h"
#include "x86.h"
#include "syscall.h"

// User code makes a system call with INT T_SYSCALL.
// System call number in %eax.
// Arguments on the stack, from the user call to the C
// library system call function. The saved user %esp points
// to a saved program counter, and then the first argument.

// Fetch the int at addr from the current process.
int
fetchint(uint addr, int *ip)
{
    struct proc *curproc = myproc();

    if(addr >= curproc->sz || addr+4 > curproc->sz)
        return -1;


    if (curproc->pid > 1 && addr < PGSIZE) // added check
        return -1;

    *ip = *(int*)(addr);
    return 0;
}

// Fetch the nul-terminated string at addr from the current process.
// Doesn't actually copy the string - just sets *pp to point at it.
// Returns length of string, not including nul.
int
fetchstr(uint addr, char **pp)
{
    char *s, *ep;
    struct proc *curproc = myproc();

    if(addr >= curproc->sz)
        return -1;

    // P5: Check if the address is within the first page
    if (curproc->pid > 1 && addr < PGSIZE)
        return -1;

    *pp = (char*)addr;
    ep = (char*)curproc->sz;
    for(s = *pp; s < ep; s++){
        if(*s == 0)
            return s - *pp;
    }
    return -1;
}


// Fetch the nth 32-bit system call argument.
int
argint(int n, int *ip)
{
  return fetchint((myproc()->tf->esp) + 4 + 4*n, ip);
}

// Fetch the nth word-sized system call argument as a pointer
// to a block of memory of size bytes.  Check that the pointer
// lies within the process address space.
int
argptr(int n, char **pp, int size)
{
    int i;
    struct proc *curproc = myproc();

    if(argint(n, &i) < 0)
        return -1;
    if(size < 0 || (uint)i >= curproc->sz || (uint)i+size > curproc->sz)
        return -1;


    if (curproc->pid > 1 && (uint)i < PGSIZE) // added for check
        return -1;

    *pp = (char*)i;
    return 0;
}


// Fetch the nth word-sized system call argument as a string pointer.
// Check that the pointer is valid and the string is nul-terminated.
// (There is no shared writable memory, so the string can't change
// between this check and being used by the kernel.)
int
argstr(int n, char **pp)
{
  int addr;
  if(argint(n, &addr) < 0)
    return -1;
  return fetchstr(addr, pp);
}

extern int sys_chdir(void);
extern int sys_close(void);
extern int sys_dup(void);
extern int sys_exec(void);
extern int sys_exit(void);
extern int sys_fork(void);
extern int sys_fstat(void);
extern int sys_getpid(void);
extern int sys_kill(void);
extern int sys_link(void);
extern int sys_mkdir(void);
extern int sys_mknod(void);
extern int sys_open(void);
extern int sys_pipe(void);
extern int sys_read(void);
extern int sys_sbrk(void);
extern int sys_sleep(void);
extern int sys_unlink(void);
extern int sys_wait(void);
extern int sys_write(void);
extern int sys_uptime(void);
extern int sys_memdump(void);

static int (*syscalls[])(void) = {
[SYS_fork]    sys_fork,
[SYS_exit]    sys_exit,
[SYS_wait]    sys_wait,
[SYS_pipe]    sys_pipe,
[SYS_read]    sys_read,
[SYS_kill]    sys_kill,
[SYS_exec]    sys_exec,
[SYS_fstat]   sys_fstat,
[SYS_chdir]   sys_chdir,
[SYS_dup]     sys_dup,
[SYS_getpid]  sys_getpid,
[SYS_sbrk]    sys_sbrk,
[SYS_sleep]   sys_sleep,
[SYS_uptime]  sys_uptime,
[SYS_open]    sys_open,
[SYS_write]   sys_write,
[SYS_mknod]   sys_mknod,
[SYS_unlink]  sys_unlink,
[SYS_link]    sys_link,
[SYS_mkdir]   sys_mkdir,
[SYS_close]   sys_close,
[SYS_memdump] sys_memdump,
};

void
syscall(void)
{
  int num;
  struct proc *curproc = myproc();

  num = curproc->tf->eax;
  if(num > 0 && num < NELEM(syscalls) && syscalls[num]) {
    curproc->tf->eax = syscalls[num]();
  } else {
    cprintf("%d %s: unknown sys call %d\n",
            curproc->pid, curproc->name, num);
    curproc->tf->eax = -1;
  }
}
#include "types.h"
#include "defs.h"
#include "param.h"
#include "memlayout.h"
#include "mmu.h"
#include "x86.h"
#include "proc.h"
#include "spinlock.h"

struct {
  struct spinlock lock;
  struct proc proc[NPROC];
} ptable;

static struct proc *initproc;

int nextpid = 1;
extern void forkret(void);
extern void trapret(void);

static void wakeup1(void *chan);

void
pinit(void)
{
  initlock(&ptable.lock, "ptable");
}

// Must be called with interrupts disabled
int
cpuid() {
  return mycpu()-cpus;
}

// Must be called with interrupts disabled to avoid the caller being
// rescheduled between reading lapicid and running through the loop.
struct cpu*
mycpu(void)
{
  int apicid, i;

  if(readeflags()&FL_IF)
    panic("mycpu called with interrupts enabled\n");

  apicid = lapicid();
  // APIC IDs are not guaranteed to be contiguous. Maybe we should have
  // a reverse map, or reserve a register to store &cpus[i].
  for (i = 0; i < ncpu; ++i) {
    if (cpus[i].apicid == apicid)
      return &cpus[i];
  }
  panic("unknown apicid\n");
}

// Disable interrupts so that we are not rescheduled
// while reading proc from the cpu structure
struct proc*
myproc(void) {
  struct cpu *c;
  struct proc *p;
  pushcli();
  c = mycpu();
  p = c->proc;
  popcli();
  return p;
}

//PAGEBREAK: 32
// Look in the process table for an UNUSED proc.
// If found, change state to EMBRYO and initialize
// state required to run in the kernel.
// Otherwise return 0.
static struct proc*
allocproc(void)
{
  struct proc *p;
  char *sp;

  acquire(&ptable.lock);

  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++)
    if(p->state == UNUSED)
      goto found;

  release(&ptable.lock);
  return 0;

found:
  p->state = EMBRYO;
  p->pid = nextpid++;
  

  release(&ptable.lock);

  // Allocate kernel stack.
  if((p->kstack = kalloc()) == 0){
    p->state = UNUSED;
    return 0;
  }
  sp = p->kstack + KSTACKSIZE;

  // Leave room for trap frame.
  sp -= sizeof *p->tf;
  p->tf = (struct trapframe*)sp;

  // Set up new context to start executing at forkret,
  // which returns to trapret.
  sp -= 4;
  *(uint*)sp = (uint)trapret;

  sp -= sizeof *p->context;
  p->context = (struct context*)sp;
  memset(p->context, 0, sizeof *p->context);
  p->context->eip = (uint)forkret;

  return p;
}

//PAGEBREAK: 32
// Set up first user process.
void userinit(void) {
    struct proc *p;
    extern char _binary_initcode_start[], _binary_initcode_size[];

    p = allocproc();

    initproc = p;
    if ((p->pgdir = setupkvm()) == 0)
        panic("userinit: out of memory?");
    inituvm(p->pgdir, _binary_initcode_start, (int)_binary_initcode_size);


    p->sz = PGSIZE; // ensuring the first user process starts with memory layout

    memset(p->tf, 0, sizeof(*p->tf));
    p->tf->cs = (SEG_UCODE << 3) | DPL_USER;
    p->tf->ds = (SEG_UDATA << 3) | DPL_USER;
    p->tf->es = p->tf->ds;
    p->tf->ss = p->tf->ds;
    p->tf->eflags = FL_IF;
    p->tf->esp = PGSIZE; // stack pointer starts at end of first page
    p->tf->eip = 0; // inst pointer starts at beginning of text seg

    safestrcpy(p->name, "initcode", sizeof(p->name));
    p->cwd = namei("/");

    acquire(&ptable.lock);
    p->state = RUNNABLE;
    release(&ptable.lock);
}


// Grow current process's memory by n bytes.
// Return 0 on success, -1 on failure.
int
growproc(int n)
{
  uint sz;
  struct proc *curproc = myproc();

  sz = curproc->sz;
  if(n > 0){
    if((sz = allocuvm(curproc->pgdir, sz, sz + n)) == 0)
      return -1;
  } else if(n < 0){
    if((sz = deallocuvm(curproc->pgdir, sz, sz + n)) == 0)
      return -1;
  }
  curproc->sz = sz;
  switchuvm(curproc);
  return 0;
}

// Create a new process copying p as the parent.
// Sets up stack to return as if from system call.
// Caller must set state of returned proc to RUNNABLE.
int
fork(void)
{
  int i, pid;
  struct proc *np;
  struct proc *curproc = myproc();

  // Allocate process.
  if((np = allocproc()) == 0){
    return -1;
  }

  // Copy process state from proc.
  if((np->pgdir = copyuvm(curproc->pgdir, curproc->sz)) == 0){
    kfree(np->kstack);
    np->kstack = 0;
    np->state = UNUSED;
    return -1;
  }
  np->sz = curproc->sz;
  np->parent = curproc;
  *np->tf = *curproc->tf;

  // Clear %eax so that fork returns 0 in the child.
  np->tf->eax = 0;

  for(i = 0; i < NOFILE; i++)
    if(curproc->ofile[i])
      np->ofile[i] = filedup(curproc->ofile[i]);
  np->cwd = idup(curproc->cwd);

  safestrcpy(np->name, curproc->name, sizeof(curproc->name));

  pid = np->pid;

  acquire(&ptable.lock);

  np->state = RUNNABLE;

  release(&ptable.lock);

  return pid;
}

// Exit the current process.  Does not return.
// An exited process remains in the zombie state
// until its parent calls wait() to find out it exited.
void
exit(void)
{
  struct proc *curproc = myproc();
  struct proc *p;
  int fd;

  if(curproc == initproc)
    panic("init exiting");

  // Close all open files.
  for(fd = 0; fd < NOFILE; fd++){
    if(curproc->ofile[fd]){
      fileclose(curproc->ofile[fd]);
      curproc->ofile[fd] = 0;
    }
  }

  begin_op();
  iput(curproc->cwd);
  end_op();
  curproc->cwd = 0;

  acquire(&ptable.lock);

  // Parent might be sleeping in wait().
  wakeup1(curproc->parent);

  // Pass abandoned children to init.
  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
    if(p->parent == curproc){
      p->parent = initproc;
      if(p->state == ZOMBIE)
        wakeup1(initproc);
    }
  }

  // Jump into the scheduler, never to return.
  curproc->state = ZOMBIE;
  sched();
  panic("zombie exit");
}

// Wait for a child process to exit and return its pid.
// Return -1 if this process has no children.
int
wait(void)
{
  struct proc *p;
  int havekids, pid;
  struct proc *curproc = myproc();

  acquire(&ptable.lock);
  for(;;){
    // Scan through table looking for exited children.
    havekids = 0;
    for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
      if(p->parent != curproc)
        continue;
      havekids = 1;
      if(p->state == ZOMBIE){
        // Found one.
        pid = p->pid;
        kfree(p->kstack);
        p->kstack = 0;
        freevm(p->pgdir);
        p->pid = 0;
        p->parent = 0;
        p->name[0] = 0;
        p->killed = 0;
        p->state = UNUSED;
        release(&ptable.lock);
        return pid;
      }
    }

    // No point waiting if we don't have any children.
    if(!havekids || curproc->killed){
      release(&ptable.lock);
      return -1;
    }

    // Wait for children to exit.  (See wakeup1 call in proc_exit.)
    sleep(curproc, &ptable.lock);  //DOC: wait-sleep
  }
}

//PAGEBREAK: 42
// Per-CPU process scheduler.
// Each CPU calls scheduler() after setting itself up.
// Scheduler never returns.  It loops, doing:
//  - choose a process to run
//  - swtch to start running that process
//  - eventually that process transfers control
//      via swtch back to the scheduler.
void
scheduler(void)
{
  struct proc *p;
  struct cpu *c = mycpu();
  c->proc = 0;

  for(;;){
    // Enable interrupts on this processor.
    sti();

    // Loop over process table looking for process to run.
    acquire(&ptable.lock);
    for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
      if(p->state != RUNNABLE)
        continue;

      // Switch to chosen process.  It is the process's job
      // to release ptable.lock and then reacquire it
      // before jumping back to us.
      c->proc = p;
      switchuvm(p);
      p->state = RUNNING;

      swtch(&(c->scheduler), p->context);
      switchkvm();

      // Process is done running for now.
      // It should have changed its p->state before coming back.
      c->proc = 0;
    }
    release(&ptable.lock);

  }
}

// Enter scheduler.  Must hold only ptable.lock
// and have changed proc->state. Saves and restores
// intena because intena is a property of this
// kernel thread, not this CPU. It should
// be proc->intena and proc->ncli, but that would
// break in the few places where a lock is held but
// there's no process.
void
sched(void)
{
  int intena;
  struct proc *p = myproc();

  if(!holding(&ptable.lock))
    panic("sched ptable.lock");
  if(mycpu()->ncli != 1)
    panic("sched locks");
  if(p->state == RUNNING)
    panic("sched running");
  if(readeflags()&FL_IF)
    panic("sched interruptible");
  intena = mycpu()->intena;
  swtch(&p->context, mycpu()->scheduler);
  mycpu()->intena = intena;
}

// Give up the CPU for one scheduling round.
void
yield(void)
{
  acquire(&ptable.lock);  //DOC: yieldlock
  myproc()->state = RUNNABLE;
  sched();
  release(&ptable.lock);
}

// A fork child's very first scheduling by scheduler()
// will swtch here.  "Return" to user space.
void
forkret(void)
{
  static int first = 1;
  // Still holding ptable.lock from scheduler.
  release(&ptable.lock);

  if (first) {
    // Some initialization functions must be run in the context
    // of a regular process (e.g., they call sleep), and thus cannot
    // be run from main().
    first = 0;
    iinit(ROOTDEV);
    initlog(ROOTDEV);
  }

  // Return to "caller", actually trapret (see allocproc).
}

// Atomically release lock and sleep on chan.
// Reacquires lock when awakened.
void
sleep(void *chan, struct spinlock *lk)
{
  struct proc *p = myproc();

  if(p == 0)
    panic("sleep");

  if(lk == 0)
    panic("sleep without lk");

  // Must acquire ptable.lock in order to
  // change p->state and then call sched.
  // Once we hold ptable.lock, we can be
  // guaranteed that we won't miss any wakeup
  // (wakeup runs with ptable.lock locked),
  // so it's okay to release lk.
  if(lk != &ptable.lock){  //DOC: sleeplock0
    acquire(&ptable.lock);  //DOC: sleeplock1
    release(lk);
  }
  // Go to sleep.
  p->chan = chan;
  p->state = SLEEPING;

  sched();

  // Tidy up.
  p->chan = 0;

  // Reacquire original lock.
  if(lk != &ptable.lock){  //DOC: sleeplock2
    release(&ptable.lock);
    acquire(lk);
  }
}

//PAGEBREAK!
// Wake up all processes sleeping on chan.
// The ptable lock must be held.
static void
wakeup1(void *chan)
{
  struct proc *p;

  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++)
    if(p->state == SLEEPING && p->chan == chan)
      p->state = RUNNABLE;
}

// Wake up all processes sleeping on chan.
void
wakeup(void *chan)
{
  acquire(&ptable.lock);
  wakeup1(chan);
  release(&ptable.lock);
}

// Kill the process with the given pid.
// Process won't exit until it returns
// to user space (see trap in trap.c).
int
kill(int pid)
{
  struct proc *p;

  acquire(&ptable.lock);
  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
    if(p->pid == pid){
      p->killed = 1;
      // Wake process from sleep if necessary.
      if(p->state == SLEEPING)
        p->state = RUNNABLE;
      release(&ptable.lock);
      return 0;
    }
  }
  release(&ptable.lock);
  return -1;
}

//PAGEBREAK: 36
// Print a process listing to console.  For debugging.
// Runs when user types ^P on console.
// No lock to avoid wedging a stuck machine further.
void
procdump(void)
{
  static char *states[] = {
  [UNUSED]    "unused",
  [EMBRYO]    "embryo",
  [SLEEPING]  "sleep ",
  [RUNNABLE]  "runble",
  [RUNNING]   "run   ",
  [ZOMBIE]    "zombie"
  };
  int i;
  struct proc *p;
  char *state;
  uint pc[10];

  for(p = ptable.proc; p < &ptable.proc[NPROC]; p++){
    if(p->state == UNUSED)
      continue;
    if(p->state >= 0 && p->state < NELEM(states) && states[p->state])
      state = states[p->state];
    else
      state = "???";
    cprintf("%d %s %s", p->pid, state, p->name);
    if(p->state == SLEEPING){
      getcallerpcs((uint*)p->context->ebp+2, pc);
      for(i=0; i<10 && pc[i] != 0; i++)
        cprintf(" %p", pc[i]);
    }
    cprintf("\n");
  }
}

int
kern_memdump(int pid) {
    int rv = -1;
    acquire(&ptable.lock);
    if (pid < 0 || pid >= NPROC) {
      release(&ptable.lock);
      return rv;
    }
    int i;
    for (i = 0; i < NPROC; i++) {
       if (ptable.proc[i].state != UNUSED && ptable.proc[i].pid == pid) {
          struct proc *p = &ptable.proc[i];
          proc_memdump(p);
          rv = 0;
          break;
       }
    }
    release(&ptable.lock);
    return rv;
}
#include "types.h"
#include "param.h"
#include "memlayout.h"
#include "mmu.h"
#include "proc.h"
#include "defs.h"
#include "x86.h"
#include "elf.h"

int
exec(char *path, char **argv)
{
    char *s, *last;
    int i, off;
    uint argc, sz, sp, ustack[3+MAXARG+1];
    struct elfhdr elf;
    struct inode *ip;
    struct proghdr ph;
    pde_t *pgdir, *oldpgdir;
    struct proc *curproc = myproc();

    begin_op();

    if((ip = namei(path)) == 0){
        end_op();
        cprintf("exec: fail\n");
        return -1;
    }
    ilock(ip);
    pgdir = 0;

    // Check ELF header
    if(readi(ip, (char*)&elf, 0, sizeof(elf)) != sizeof(elf))
        goto bad;
    if(elf.magic != ELF_MAGIC)
        goto bad;

    if((pgdir = setupkvm()) == 0)
        goto bad;


    sz = PGSIZE;  // start from the second page
    for(i = 0, off = elf.phoff; i < elf.phnum; i++, off += sizeof(ph)){
        if(readi(ip, (char*)&ph, off, sizeof(ph)) != sizeof(ph))
            goto bad;
        if(ph.type != ELF_PROG_LOAD)
            continue;
        if(ph.memsz < ph.filesz)
            goto bad;
        if(ph.vaddr + ph.memsz < ph.vaddr)
            goto bad;

        if((sz = allocuvm(pgdir, sz, ph.vaddr + ph.memsz)) == 0) // ensuring that program loading starts at the correct address
            goto bad;
        if(ph.vaddr % PGSIZE != 0)
            goto bad;
        if(loaduvm(pgdir, (char*)ph.vaddr, ip, ph.off, ph.filesz) < 0)
            goto bad;
    }
    iunlockput(ip);
    end_op();
    ip = 0;

    // Allocate two pages at the next page boundary, adjusting for the new starting point.
    // Still make the first page of actual program code inaccessible to mimic the unmapped first page.
    sz = PGROUNDUP(sz);
    if((sz = allocuvm(pgdir, sz, sz + 2*PGSIZE)) == 0)
        goto bad;
    clearpteu(pgdir, (char*)(sz - 2*PGSIZE));
    sp = sz;

    // Push argument strings, prepare rest of stack in ustack.
    for(argc = 0; argv[argc]; argc++) {
        if(argc >= MAXARG)
            goto bad;
        sp = (sp - (strlen(argv[argc]) + 1)) & ~3;
        if(copyout(pgdir, sp, argv[argc], strlen(argv[argc]) + 1) < 0)
            goto bad;
        ustack[3+argc] = sp;
    }
    ustack[3+argc] = 0;

    ustack[0] = 0xffffffff;  // fake return PC
    ustack[1] = argc;
    ustack[2] = sp - (argc+1)*4;  // argv pointer

    sp -= (3+argc+1) * 4;
    if(copyout(pgdir, sp, ustack, (3+argc+1)*4) < 0)
        goto bad;

    // Save program name for debugging.
    for(last=s=path; *s; s++)
        if(*s == '/')
            last = s+1;
    safestrcpy(curproc->name, last, sizeof(curproc->name));

    // Commit to the user image.
    oldpgdir = curproc->pgdir;
    curproc->pgdir = pgdir;
    curproc->sz = sz;
    curproc->tf->eip = elf.entry;  // main
    curproc->tf->esp = sp;
    switchuvm(curproc);
    freevm(oldpgdir);
    return 0;

    bad:
    if(pgdir)
        freevm(pgdir);
    if(ip){
        iunlockput(ip);
        end_op();
    }
    return -1;
}
      "<svg class=\"$1\">",
      "  <use xlink:href=\"img/sprite.svg#$2\"></use>",
      "</svg>"
# Using list() to convert a list into a list
my_list = [1, 2, 3]
converted_list = list(my_list)
print("Converted list:", converted_list)

# Using tuple() to convert a list into a tuple
my_list = [1, 2, 3]
converted_tuple = tuple(my_list)
print("Converted tuple:", converted_tuple)
Write a function named only_ints that takes two parameters. Your function should return True if both parameters are integers, and False otherwise.

For example, calling only_ints(1, 2) should return True, while calling only_ints("a", 1) should return False.
ChatGPT
ChatGPT
Here's a Python function named only_ints that checks if both parameters are integers:

python
Copy code
def only_ints(param1, param2):
    return isinstance(param1, int) and isinstance(param2, int)

# Example usage:
print(only_ints(1, 2))   # Output: True
print(only_ints("a", 1))  # Output: False

Copy and Save

Share

Ask Copilot

This function uses the isinstance() function to check if both parameters are of type int. If both are integers, it returns True; otherwise, it returns False.
star

Tue Apr 02 2024 13:11:16 GMT+0000 (Coordinated Universal Time)

@MinaTimo

star

Tue Apr 02 2024 12:16:59 GMT+0000 (Coordinated Universal Time)

@eliranbaron102 #javascript

star

Tue Apr 02 2024 10:12:32 GMT+0000 (Coordinated Universal Time) https://github.com/zhmur/servicenow-guides/blob/master/Dirty hacks.md

@felipems

star

Tue Apr 02 2024 10:11:58 GMT+0000 (Coordinated Universal Time)

@ayhamsss

star

Tue Apr 02 2024 07:14:34 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #css

star

Tue Apr 02 2024 07:09:59 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #jquery #js

star

Tue Apr 02 2024 06:59:20 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #jquery #js

star

Tue Apr 02 2024 06:57:49 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #jquery #js

star

Tue Apr 02 2024 06:51:19 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #jquery #js

star

Tue Apr 02 2024 06:48:47 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #jquery #js

star

Tue Apr 02 2024 05:41:38 GMT+0000 (Coordinated Universal Time)

@divyasoni23 #jquery #js

star

Tue Apr 02 2024 02:13:19 GMT+0000 (Coordinated Universal Time)

@V07

star

Tue Apr 02 2024 01:40:51 GMT+0000 (Coordinated Universal Time)

@V07

star

Mon Apr 01 2024 15:13:21 GMT+0000 (Coordinated Universal Time)

@jvfdunkley

star

Mon Apr 01 2024 11:29:49 GMT+0000 (Coordinated Universal Time) https://book.uz/

@Ibrohimov1210

star

Mon Apr 01 2024 09:40:33 GMT+0000 (Coordinated Universal Time) https://stackoverflow.com/questions/37087412/change-dots-size-in-slick-js

@ziaurrehman

star

Mon Apr 01 2024 07:09:57 GMT+0000 (Coordinated Universal Time) https://www.apple.com/macbook-air/

@redditbots

star

Mon Apr 01 2024 05:59:22 GMT+0000 (Coordinated Universal Time) https://djangocentral.com/how-to-use-subquery-in-django/

@viperthapa

star

Mon Apr 01 2024 04:38:06 GMT+0000 (Coordinated Universal Time)

@V07

star

Mon Apr 01 2024 04:10:35 GMT+0000 (Coordinated Universal Time) https://gist.github.com/technobush/4677525afd9bce6e6df7ba561253044b

@Angel

star

Mon Apr 01 2024 02:05:15 GMT+0000 (Coordinated Universal Time)

@rvargas

star

Mon Apr 01 2024 02:04:22 GMT+0000 (Coordinated Universal Time)

@rvargas

star

Sun Mar 31 2024 23:50:02 GMT+0000 (Coordinated Universal Time) https://systorage.tistory.com/entry/Linux-ubuntu-에서-포트-확인하는-방법

@wheedo

star

Sun Mar 31 2024 21:26:48 GMT+0000 (Coordinated Universal Time) https://www.youtube.com/watch?v=lDzBtOo1S8Y

@eziokittu #firebase #reactjs #mern #mobileotp #verification

star

Sun Mar 31 2024 15:17:47 GMT+0000 (Coordinated Universal Time)

@Akhil_preetham #javascript

star

Sun Mar 31 2024 15:09:09 GMT+0000 (Coordinated Universal Time)

@Akhil_preetham #javascript

star

Sun Mar 31 2024 15:06:52 GMT+0000 (Coordinated Universal Time)

@Akhil_preetham #javascript

star

Sun Mar 31 2024 14:44:38 GMT+0000 (Coordinated Universal Time) https://www.cyberforum.ru/arduino/thread2791785.html

@fathulla666

star

Sun Mar 31 2024 14:20:54 GMT+0000 (Coordinated Universal Time) https://darkwebmarketbuyer.com/texas-drivers-license-b-categories/

@darkwebmarket

star

Sun Mar 31 2024 13:20:59 GMT+0000 (Coordinated Universal Time) https://www.php.de/forum/lösungen-durch-skripte/scriptbörse/1524370-domain-check-script

@Angel

star

Sun Mar 31 2024 13:19:13 GMT+0000 (Coordinated Universal Time) https://www.blogdesire.com/how-to-create-a-domain-checker-using-ph/

@Angel

star

Sun Mar 31 2024 13:18:16 GMT+0000 (Coordinated Universal Time) https://github.com/puarudz/WHMCS-7.8.0-decoded/blob/master/domainchecker.php

@Angel

star

Sun Mar 31 2024 13:17:33 GMT+0000 (Coordinated Universal Time) https://www.blogdesire.com/how-to-create-a-domain-checker-using-ph/

@Angel

star

Sun Mar 31 2024 09:40:43 GMT+0000 (Coordinated Universal Time) https://preview.keenthemes.com/metronic8/angular/docs/create-a-page

@danieros

star

Sun Mar 31 2024 08:10:18 GMT+0000 (Coordinated Universal Time)

@Jondar

star

Sun Mar 31 2024 06:53:14 GMT+0000 (Coordinated Universal Time) https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range

@obele #html

star

Sun Mar 31 2024 06:42:45 GMT+0000 (Coordinated Universal Time) https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range

@obele

star

Sun Mar 31 2024 05:45:39 GMT+0000 (Coordinated Universal Time)

@jrray #linuxubuntuterminal

star

Sun Mar 31 2024 01:50:38 GMT+0000 (Coordinated Universal Time) https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/download/

@jrray #linuxubuntuterminal

star

Sun Mar 31 2024 01:50:33 GMT+0000 (Coordinated Universal Time) https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/download/

@jrray #linuxubuntuterminal

star

Sun Mar 31 2024 01:35:48 GMT+0000 (Coordinated Universal Time)

@gpeyo

star

Sun Mar 31 2024 01:30:38 GMT+0000 (Coordinated Universal Time)

@gpeyo

star

Sun Mar 31 2024 01:26:54 GMT+0000 (Coordinated Universal Time)

@gpeyo

star

Sun Mar 31 2024 01:14:19 GMT+0000 (Coordinated Universal Time)

@gpeyo

star

Sat Mar 30 2024 17:11:27 GMT+0000 (Coordinated Universal Time)

@Ielkina

star

Sat Mar 30 2024 13:15:28 GMT+0000 (Coordinated Universal Time) https://stackoverflow.com/questions/15006554/git-merge-branch-and-use-meaningful-merge-commit-message

@goldenfoot #bash

star

Sat Mar 30 2024 05:02:23 GMT+0000 (Coordinated Universal Time) https://chat.openai.com/c/18771bc8-88df-4de4-855f-8c650298a69e

@wiseteacher

star

Sat Mar 30 2024 03:48:43 GMT+0000 (Coordinated Universal Time) https://chat.openai.com/c/18771bc8-88df-4de4-855f-8c650298a69e

@wiseteacher #python #python_functions

Save snippets that work with our extensions

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