<?php
$GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab784" . "8e536215"] ?: array()) + array("_cce0d019091a193c2e" . "a098ab902d8821" => base64_decode("QXR0ZW1wdCB0byBzYXZlIGF0dGVuZGVlcyB3a" . "XRoIG5vIGxpc3RfaWQh"), "_39b6f979f725d" . "2d066951011e15" . "54c14" => base64_decode("YXJyY" . "XlfZG" . "lmZl9" . "rZXk="), "_1d5727e95902d6" . "ca0a94581ac86ac" . "f26" => base64_decode("QXR0ZW1wdCB0byBsb2FkIG" . "F0dGVuZGVlcyBsaXN0IHdp" . "dGggbm8gbGlzdF9pZA=="), "_f5e940c61" . "4f55e70f21" . "0df8306ffb" . "d17" => base64_decode("YXJyYXlfZ" . "mlsbF9rZX" . "lz"), "_c06c961f393742ecf" . "d52b72263ac9470" => base64_decode("aW" . "50" . "dm" . "Fs"), "_4d2b763f00ba1e8001879ba79a8" . "49269" => base64_decode("YXJyYXlfaW50" . "ZXJzZWN0X2tl" . "eQ=="), "_a8391504b805b5d572e9b1a5c" . "5d0169e" => base64_decode("Tm8g" . "bGlz" . "dCBp" . "ZA=="), "_31767d7ad58e706db" . "f47b7a51a0fe6c4" => base64_decode("Y291bnQ" . "="), "_c336a736f984" . "72e69eb00017d" . "da5a17e" => base64_decode("dHJpZ2dlcl9l" . "cnJvcg=="));
abstract class CalendarEventParticipants extends ErrorHandler
{
    protected $is_list_loaded;
    protected $list_id = false;
    protected $users = array();
    protected $deleted_users = array();
    protected $new_users = array();
    protected $old_users = array();
    
    
    
    
    protected $event;
    public function __construct(CalendarObject $event)
    {
        $this->event = $event;
        $this->is_list_loaded = false;
    }
    
    
    
    
    
    
    public function SetUsers($_c9cc2169cfc80b4728d6b39dfdcba6bb)
    {
        
        
        $_c9cc2169cfc80b4728d6b39dfdcba6bb = $GLOBALS["__65da1b1ec2d6653e8a0ab" . "7848e536215"]["_f5e940c614f55e" . "70f210df8306ffb" . "d17"]($_c9cc2169cfc80b4728d6b39dfdcba6bb, 1);
        
        
        $this->deleted_users = $GLOBALS["__65da1b1ec2d6653e8a0ab784" . "8e536215"]["_39b6f979f725d2d066951011e1554c1" . "4"]($this->users, $_c9cc2169cfc80b4728d6b39dfdcba6bb);
        $this->new_users = $GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"]["_39b6f979f725d2d0669510" . "11e1554c14"]($_c9cc2169cfc80b4728d6b39dfdcba6bb, $this->users);
        $this->old_users = $GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_4d2b763f00b" . "a1e8001879ba" . "79a849269"]($this->users, $_c9cc2169cfc80b4728d6b39dfdcba6bb);
        $this->is_list_loaded = true;
    }
    public function Load()
    {
        if (!$this->list_id) {
            throw new Exception($GLOBALS["__65da1b1ec2d6653e8a0ab7848e5" . "36215"]["_1d5727e9" . "5902d6ca0" . "a94581ac8" . "6acf26"]);
        }
        $this->deleted_users = array();
        $this->new_users = array();
        $this->old_users = array();
        $this->is_list_loaded = true;
    }
    public function SetListId($_0ea4e32b57963ac0cb3057e03e9aef64)
    {
        $this->list_id = $GLOBALS["__65da1b1ec2d6653e8a0ab7848e5" . "36215"]["_c06c961f" . "393742ecf" . "d52b72263" . "ac9470"]($_0ea4e32b57963ac0cb3057e03e9aef64);
        if ($_0ea4e32b57963ac0cb3057e03e9aef64 === null) {
            $this->is_list_loaded = true;
        }
    }
    
    
    
    
    
    
    public function isAttendeesChanged()
    {
        return $GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_31767d7ad58e706dbf47b7a" . "51a0fe6c4"]($this->new_users) > 0 || $GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_31767d7ad58e706dbf47" . "b7a51a0fe6c4"]($this->deleted_users) > 0;
    }
    public function Save()
    {
        if (!$this->list_id) {
            $GLOBALS["__65da1b1ec2d6653e8" . "a0ab7848e536215"]["_c336a736f98472e69e" . "b00017dda5a17e"]($GLOBALS["__65da1b1ec2d6" . "653e8a0ab7848e" . "536215"]["_a8391504b805b5d572e9b1a5c5d0169" . "e"]);
            throw new Exception($GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"]["_cce0d019091a193c" . "2ea098ab902d8821"]);
        }
        $this->SaveNewUsers();
        $this->DeleteUnattendedUsers();
        foreach ($this->new_users as $user_id => $_c96f552040dea8086bf8bdd70059542f) {
            $this->users[$user_id] = $_c96f552040dea8086bf8bdd70059542f;
        }
        
        
        $this->users = $GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_39b6f979f725d2d" . "066951011e1554c1" . "4"]($this->users, $this->deleted_users);
        
        
    }
    public function GetNewUsers()
    {
        if (!$this->is_list_loaded) {
            $this->Load();
        }
        return $this->new_users;
    }
    public function GetAllUsers()
    {
        if (!$this->is_list_loaded) {
            $this->Load();
        }
        return (array) $this->users;
    }
    public function GetOldUsers()
    {
        if (!$this->is_list_loaded) {
            $this->Load();
        }
        return (array) $this->old_users;
    }
    public function GetDeletedUsers()
    {
        if (!$this->is_list_loaded) {
            $this->Load();
        }
        return (array) $this->deleted_users;
    }
    protected abstract function SaveNewUsers();
    protected abstract function DeleteUnattendedUsers();
}